ورود

نسخه کامل مشاهده نسخه کامل : فرق كامپايلرها



p d
06-05-2009, 08:08
چند سوال:
دوستان فرق كامپايلر هاي يك زبان (مثلا ++c) چيه؟
ايا اين تفاوت در نوع كد نويسي هم هست؟
براي زباني مثل ++c كدام كامپايلر قويتره؟

sin2x=2sinxcosx
06-05-2009, 09:12
نه . تفاوت زيادي ندارن . از وقتي که ANSI استاندارد ++C رو مشخص کرد همه کامپايلرها خوشونو با اون وفق دادن . بعد با جديدتر شدن اين استاندارد ، کامپايلرها هم اين تغيير رو در نسخه هاي جديدشون اعمال کردن و حالا Visual Studio 2008 خيلي کامله .
اين تفاوت جزئي هم در کتابخانه استاندارد و چگونگي استفاده از اونه . والا دستورات خود ++C همه جا و همه وقت ثابت بوده .

hoax3r
06-05-2009, 16:58
به غیر از استاندارد در حال حاظر بیشترین تفاوت کامپایلرها رو میشه در بهینه سازی هایی که انجام میدن دید
اگه بهینه سازی براتون اهمیت داره از کامپایلر هایی مثل ++Intel C یا ++VC یا GCC استفاده کنید

p d
06-05-2009, 18:48
فرق ندارن؟
برنامه اي كه تويه ++Mc اجرا ميشن تويه dev اجرا نميشه و خطا ميگيره. چرا؟

sin2x=2sinxcosx
06-05-2009, 20:20
خوب اين ارور چيه ؟ شايد مشکل تو همين نوع استفاده از کتابخانه ها باشه .

my friend
06-05-2009, 20:33
یه سوال دارم که شاید اینجا بهترین مکان برای پرسیدنش باشه:
تو ویژوال استودیو 2008، امکانش هست که برنامه رو جوری کامپایل کنیم که بعد از کامپایل، نیازی به نصب دات نت فریم ورک روی سیستمی که میخواد نرم افزار روش نصب بشه نباشه؟!
از هر کی پرسیدم، جواب نداد یا گفت نمیدونم!!
میخوام لایه ای بین سخت افزار و نرم افزار نباشه تا برنامه سریعترین سرعت ممکن رو داشته باشه.
حداقل کدوم کامپایلر هست که محیط خوبی مثل MS VS 08 داشته باشه؟!

hoax3r
06-05-2009, 23:39
فرق ندارن؟
برنامه اي كه تويه ++Mc اجرا ميشن تويه dev اجرا نميشه و خطا ميگيره. چرا؟

همونطور که دوستمون گفت کامپایلر های جدید که استاندار های این زبان رو بدرستی رعایت کردن که قالبا هم به این صورت بوده
این قبیل مشکلات رو ندارن یا اگر باشه خیلی کمه ولی اگه کامپایلر قدیمی باشه یا کد غیر استاندارد باشه این مشکلات پیش میاد
اگه کدتون رو بزارین شاید بهتر بشه نظر داد


یه سوال دارم که شاید اینجا بهترین مکان برای پرسیدنش باشه:
تو ویژوال استودیو 2008، امکانش هست که برنامه رو جوری کامپایل کنیم که بعد از کامپایل، نیازی به نصب دات نت فریم ورک روی سیستمی که میخواد نرم افزار روش نصب بشه نباشه؟!
از هر کی پرسیدم، جواب نداد یا گفت نمیدونم!!
میخوام لایه ای بین سخت افزار و نرم افزار نباشه تا برنامه سریعترین سرعت ممکن رو داشته باشه.
حداقل کدوم کامپایلر هست که محیط خوبی مثل MS VS 08 داشته باشه؟!

زبان ++C اگه بصورت Win32 در این کامپایلر نوشته بشه اصلا نیازی به Net. نداره، البته این امکان هم هست که ++C رو با Net. ترکیب کرد
ولی کمتر کسی رو دیدم اینکارو بکنه،

p d
07-05-2009, 07:08
با تشكر از دوستاني كه نظر دادن مشكل من حل شد.:10:
"h." ها رو پاك كردم جاش از دستور using namespace std استفاده كردم.
كسي در مورد اين دو دستور ميتونه توضيح بده؟

sin2x=2sinxcosx
07-05-2009, 12:13
h. ها که مربوط به نام فايله که تو پوشه include کامپايلر قرار داره و اسم فايل اونجا هر چي باشه بايد همونو include کنين .
std هم اصطلاحا يه فضاي نام يا namespace هست که تمامي کلمات زير متعلق به اون فضاي نام هستند و اگه قرار باشه تو برنامه ازشون استفاده بشه بايد اين دستور بالاي برنامه بکار بره :

cin cout endl setw fixed setprecision , ...

p d
07-05-2009, 15:32
خب مشكل dev با "h." چيه؟