PDA

View Full Version : سوال: جابجا کردن فایل برنامه



Dev.Look24
چهارشنبه 24 دی 1393, 01:14 صبح
سلام
من فرضا برنامه ای نوشتم به زبان C++‎‎‎ که 4 تا عدد رو میگیرهخ و جمع میکنه و میده خروجی.
اگر با سی شارپ یا جاوا نوشته بودم باید .net فریم ورک یا فریم ورک مروبط به جاوا رو نصب میکردم تا برنامه در سیستم دیگر میتونست اجرا بشه . درسته؟(بعد از کامپایل)
الان من در ویژوال استدیو 2012 کد رو نوشتم و ویندوزم 64 بیت هست. تنظیمات روی Win32 هست و فایل exe که ساخته میشه رو میبرم در ویندوز 7 که 32 بیت هست و اجرا نمیشه میکه یک dll کم هست.
سرچ زدم و دیدم میگن باید visual C++‎‎‎ 2012 redistributed رو نصب کنی. نصب کردم حدودا 7 مگ بود دانلودش. بعد از نصب باز همان ارور رو میده.
در ویندوز 8 دیگری هم امتحان کردم همین ارور رو میده

اصلا چطوری هست؟ من اگر تنظیمات رو گذاشتم روی win32 یعنی چی؟ و چه فرقی با x64 داره؟ منظور همان 32 بیت و 64 بیت سی پی یو یا ویندوز هست؟
اگر زدیم روی win32 باید روی تمام ویندوز های 32 بیت اجرا شود؟ اگر بستر مورد نیاز MSVC++‎ هست که نصب کردم و بی فایده هست.
این فایل exe رو مگر نباید بتوان در پلت فرم های دیگر هم اجرا کرد؟
ممنون واقعا گیج زدم :ناراحت:

negative60
چهارشنبه 24 دی 1393, 01:28 صبح
مطمئن هستيد پروژه تون رو تو حالت Release کامپايل کرديد؟

Dev.Look24
چهارشنبه 24 دی 1393, 08:31 صبح
مطمئن هستيد پروژه تون رو تو حالت Release کامپايل کرديد؟

خیر،در حالت Debug کامپایل کردم. چه فرقی دارد؟ هر دو تاش exe ساخت

Dev.Look24
چهارشنبه 24 دی 1393, 10:13 صبح
عزیزان من در حالت release کامپایل کردم و بردم در ویندوز دیگری و اجرا شد.
اما بحث اینجاست که من اصلا فرق اینها رو نمیدانم.
فرق Win32 با X64 در چیست؟ کی باید با کدامش کامپایل کنیم؟
کد های C++ تبدیل میشه به کدهای قابل فهم برای CPU سیستم خودمون. پس وقتی من این EXE رو می سازم در سیستم خودم. باید در آن ویندوز هایی که معماری شون با من یکی هست فقط اجرا بشه درسته؟ و حتما یا 32 بیت باشه یا 64 بیت درسته؟
:ناراحت:

negative60
چهارشنبه 24 دی 1393, 19:31 عصر
مشکل شما ربطی به 32 بيتی يا 64 بيتی بودن نداره اگه علاقه منديد در اين مورد بدونيد سرچ (https://www.google.com/search?q=%D8%AA%D9%81%D8%A7%D9%88%D8%AA+32+%D8%A8% D9%8A%D8%AA%DB%8C+%D8%A8%D8%A7+64+%D8%A8%D9%8A%D8% AA%DB%8C&oq=%D8%AA%D9%81%D8%A7%D9%88%D8%AA+32+%D8%A8%D9%8A% D8%AA%DB%8C+%D8%A8%D8%A7+64+%D8%A8%D9%8A%D8%AA%DB% 8C) کنيد (http://barnamenevis.org/showthread.php?176373-%D9%81%D8%B1%D9%82-%DA%A9%D8%A7%D9%85%D9%BE%D8%A7%DB%8C%D9%84-32-%D8%A8%DB%8C%D8%AA%DB%8C-%D9%88-64-%D8%A8%DB%8C%D8%AA%DB%8C-%D8%A8%D8%A7-AnyCPU)
وقتی برنامه رو تو حالت ديباگ کامپايل ميکنيد يک سری توابع و کتابخونه اضافی برای ارتباط با ديباگر ويژوال ايجاد ميشه که هم از لحاظ حجمی و بخصوص از لحاظ سرعت اجرا فرق زيادی با نسخه ريليز داره خوب مسلماً اگه برنامه اي رو که تو حالت ديباگ کامپايل شده باشه رو به ويندوز ديگه انتقال بديد به خاطر اينکه فايلهای کتابخنونه ديباگر وجود ندارند نميتونه با ديباگر ويژوال استاديو ارتباط برقرار کنه و اجرا نميشه.