PDA

View Full Version : سوال: C++‎ در ویندوز 64 بیت ؟



SajadT2010
پنج شنبه 20 اسفند 1388, 22:41 عصر
خدا قوت همگی....

دوستان عزیز ویندوز من 64 بیتی هست....

میخوام تو همین ویندوز برنامه به زبان C++ بنویسم و کمپایل کنم....

ظاهرا کمپالرها قابلیت های اجرا شدن در محیط های 64 بیتی رو ندارن.... جایی دیدم که گفته شده بود از borland c++ 5.02 اگه استفاده کنم اجرا میشه .... اما اینم نشد و 32 بیت ساپورت میکرد....

کسی راهی داره بدون دردسر بتونم با همین ویندوز کار برنامه نویسیمو انجام بدم ؟

شرمنده شاید تاپیک تکراری باشه یا جاش مناسب نزده باشم.... خداییش خیلی جستجو زدم اما به جواب مناسبی نرسیدم....

منتظر راهنماییهای شما دوستان عزیز هستم....

vcldeveloper
جمعه 21 اسفند 1388, 01:10 صبح
ویندوز های 64-بیتی می تونند بدون مشکل نرم افزارهای 32 بیتی و 64 بیتی را اجرا کنند، ولی نرم افزارهای 16 بیتی را اجرا نمی کنند.

اگر شما از کامپایلرهای قدیمی استفاده می کنید که 16 بیتی هستند، روی اون ویندوز 64 بیتی نمی تونید آنها را اجرا کنید، و باید دنبال نسخه جدیدتری از آن کامپایلر باشید که حداقل 32 بیتی باشه.

اگر کامپایلر شما 16 بیتی هست، و نسخه جدیدتر هم نداره، و شما هم به هر دلیلی تمایل ندارید از کامپایلر دیگه ایی استفاده کنید، اون وقت ساده ترین کار این هست که یک نرم افزار Virtualization مثل VMWare یا VirtualBox روی سیستم نصب کنید، و از طریق آن یک ویندوز 32 بیتی مجازی هم نصب کنید که از داخل ویندوز 64 بیتی شما اجرا شود.

Nima_NF
جمعه 21 اسفند 1388, 02:49 صبح
کامپایلر borland C++‎‎ 5.02 یک کامپایلر قدیمی هست، پس نباید چنین امکاناتی داشته باشد یا روی آخرین نسخه ویندوز پشتیبانی شود.
شما باید نسخه های جدید این کامپایلر یا نسخه های جدید ++visual C یا gcc/minGW را تهیه کنید.
هنگام نصب باید کامپایلر و ابزار 64 بیت را نصب کنید.

فعلا در ویندوز بهترین و بی دردسرترین کامپایلر برای برنامه نویسی 64 بیت ++Visual C هست، خیلی راحت آخرین نسخه یعنی 2008 به همراه Sp1 را تهیه کنید و روی همه ویندوز ها 32 بیت یا 64 بیت برنامه بنویسید (تجاری ).

ضمنا توسط این کامپایلرهای جدید می توانید برنامه های عادی 32 همانند قبل بنویسید و روی ویندوز 64 بیت اجرا کنید.

SajadT2010
جمعه 21 اسفند 1388, 22:43 عصر
ساده ترین کار این هست که یک نرم افزار Virtualization مثل VMWare یا VirtualBox روی سیستم نصب کنید، و از طریق آن یک ویندوز 32 بیتی مجازی هم نصب کنید که از داخل ویندوز 64 بیتی شما اجرا شود
تا حالا از این روش استفاده میکردم اما دردسرهای خاص خودش رو داره



فعلا در ویندوز بهترین و بی دردسرترین کامپایلر برای برنامه نویسی 64 بیت ++Visual C هست، خیلی راحت آخرین نسخه یعنی 2008 به همراه Sp1 را تهیه کنید و روی همه ویندوز ها 32 بیت یا 64 بیت برنامه بنویسید (تجاری ).
منظورتون از تجاری آخری رو نفهمیدم....
این برنامه نسخه 2010 را دانلود کردم قبلا و خواستم نصب کنم که به مشکل برخورد و با مایکروسافت هم صحبت کردن گفتند نمیدونند چطوری باید حلش کنن ! نسخه 2008 رو گرفتم و نصب کردم....
فقط وقتی پروژه جدید میخوایم بسازیم چند تا آیتم میده که انتخاب باید بکنیم ( CLR & Win32 & General ) تو این بخش موندم چی باید انتخاب کرد ! همه رو انتخاب و تست کردم و بعد از نوشتن برنامه و زدن F5 با یک صفحه سفید روبرو میشم و برنامه رو برام اجرا نمیکنه. مشکل از کجاست ؟

Nima_NF
شنبه 22 اسفند 1388, 01:03 صبح
منظورتون از تجاری آخری رو نفهمیدم....

منظور این هست که نسخه express که از اینترنت رایگان قابل دانلود کردن هست، کامپایلر 64 بیت ندارد و خیلی دیگر از امکانات دیگر را ندارد.
باید از بازار نسخه های standard یا professional را تهیه کنید.

در مورد نسخه 2010 که هنوز نسخه آزمایشی beta هست، پس استفاده نکنید.

در نسخه 2008 اگر می خواهید برنامه کنسول بنویسید (صفحه سیاه)، باید گزینه win32 و سپس پروژه win32 console را انتخاب کنید. (که احتمالا شما دنبال همین کنسول هستید)

اگر هم می خواهید برنامه تحت ویندوز پیشرفته بنویسید، win32 application را انتخاب می کنید که یک پنجره سفید می سازد، ضمنا MFC Application هم روش پیشرفته دیگری هست.

در هر دو مورد فوق در حالت پیش فرض platform روی X86 هست، اگر می خواهید 64 بیت برنامه کامپایل شود، باید از toolbar کنار مثلث سبز داخل combobox گزینه x64 را انتخاب کنید. اگر هم پیدا نکردید، از منوی project به property pages بروید و سپس Configuration Manager و در قسمت Active Solution Platform با new گزینه X64 را به آن اضافه کنید.

SajadT2010
شنبه 22 اسفند 1388, 11:37 صبح
در هر دو مورد فوق در حالت پیش فرض platform روی X86 هست، اگر می خواهید 64 بیت برنامه کامپایل شود، باید از toolbar کنار مثلث سبز داخل combobox گزینه x64 را انتخاب کنید. اگر هم پیدا نکردید، از منوی project به property pages بروید و سپس Configuration Manager و در قسمت Active Solution Platform با new گزینه X64 را به آن اضافه کنید.


منظورتون چی هست ؟
منظور اینه که اینکار ها رو باید انجام بدیم تا ویندوز 64 بیتیمون بتونه برنامه رو کامپایل کنه یا اینکه یک برنامه تولید میکنه که فقط روی سیستم های 64 بیت قابل اجرا هستند؟

vcldeveloper
شنبه 22 اسفند 1388, 12:20 عصر
منظور اینه که اینکار ها رو باید انجام بدیم تا ویندوز 64 بیتیمون بتونه برنامه رو کامپایل کنه یا اینکه یک برنامه تولید میکنه که فقط روی سیستم های 64 بیت قابل اجرا هستند؟ Visual Studio میتونه مدل های مختلفی از پروژه ها را به صورت 32 بیتی یا 64 بیتی تولید کنه. شما وقتی میخواید یک پروژه جدید ایجاد کنید، اول باید مشخص کنید که میخواید برای چه پلت فرمی برنامه بنویسید. Visual Studio از دات نت و Win32 پشتیبانی میکنه. بحث دات نت جدا ست. شما باید پروژه Win32 ایجاد کنید.
حالا برای Win32 هم انواع مختلف پروژه وجود داره. اگر میخواید یک برنامه Console ایجاد کنید که رابط گرافیکی نداره، باید نوع پروژه را Win32 Console انتخاب کنید. اگر میخواید رابط گرافیکی کاربر داشته باشه، یا باید Win32 Application را انتخاب کنید، یا MFC Application. فرق شان هم در این هست که در دومی برای تولید رابط کاربر از چارچوب MFC مایکروسافت استفاده می کنید.

وقتی پلت فرم مورد استفاده، و نوع پروژه را مشخص کردید، باید تعیین کنید که میخواید پروژه شما 32 بیتی باشه، یا 64 بیتی. اگر پروژه 32 بیتی باشه، روی ویندوز های 32 بیتی و 64 بیتی اجرا میشه. اگر پروژه 64 بیتی باشه، فقط روی ویندوز های 64 بیتی اجرا میشه، و روی ویندوزهای 32 بیتی اجرا نمیشه.

اون طوری که از پست های شما میشه فهمید، شما نیاز دارید که یک پروژه Win32 Console به صورت 32 بیتی ایجاد کنید.

SajadT2010
چهارشنبه 26 اسفند 1388, 01:56 صبح
آقا ما هر کار کردیم جواب نداد. ارورهای مختلف هم میگیره.....
حتی یه برنامه ساده main () رو هم نمیتونه اجرا کنه و خطا میده !




1>------ Build started: Project: S, Configuration: Debug Win32 ------
1>Compiling...
1>ffff.cpp
1>d:\temp\khayyam pascal triangle\ffff.cpp(6) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?
1>S.cpp
1>d:\sajad\documents\visual studio 2008\projects\s\s\s.cpp(10) : fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?
1>Generating Code...
1>Build log was saved at "file://d:\Sajad\Documents\Visual Studio 2008\Projects\S\S\Debug\BuildLog.htm"
1>S - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


#include "stdafx.h هم میذارم بازم ارور ادامه داره ! میتونید راهنمایی کنید ؟

Nima_NF
چهارشنبه 26 اسفند 1388, 23:32 عصر
شما اگر پروژه جدید ساختید، در wizard ظاهر شده باید نوع پروژه را خالی (empty) تعریف کنید. سپس در solution explorer یک فایل cpp بسازید و کدها خود را بنویسید.

اگر پروژه خالی نمی سازید، به طور پیش فرض باید stdafx.h را include کرده باشید و خود فایل هم وجود داشته باشد. در مورد precompiled header filer قبلا بحث شده است. هدف لینک ها آن فایل هست، نه صرفا فقط include با محتویات خالی.

ضمنا حتما در فروم جستجو کنید و مطالب فروم را بررسی کنید، استاندارد C++ در سال های اخیر تغییراتی کرده است که 100 ها مرتبه توضیح داده شده است.

Salar Ashgi
پنج شنبه 27 اسفند 1388, 19:49 عصر
من برای سیستم های 64 بیت دقیق اطلاع ندارم ؛ ولی سیستم خودم که 32 بیتی هستش ،

روی آخرین ورژن ویندوز ، Windows Se7en RTM 7600 ، کامپایلر Borland C++ 5.02 بخوبی کار میکنه .