View Full Version : سوال در مورد کامپایلر های C
mme3hex
یک شنبه 29 بهمن 1385, 15:33 عصر
من 1سورس رو با 3 تا کامپایلر کامپایل کردم,تنظیمات رو طوری انجام دادم که هر کدوم کچکترین EXE رو بسازن.
vc6 56k
Lcc 31k
gcc 6k
حالا سوال من اینجاست ایا EXE های اینا همه جا مثل هم عمل می کنن؟
هیچ فرق عملکردی در اینا نیست؟
این نشانه ضعف یا قدرت کامپایلر هاست؟
mer30
oVERfLOW
دوشنبه 30 بهمن 1385, 10:12 صبح
تنظیمات رو درست انجام ندادید !
با توجه به حجم خروجی GCC ، با VC می شه یه exe ساخت که کمتر از 3 کیلوبایت باشه...
حجم خروجی نشان دهنده ی شش تا عامل می تونه باشه
1 - ادغام کتابخانه های لازم در فایل اجرایی و Stand-Alone بودن برنامه.
2 - بررسی های اضافی مثل چک کردن خطاها، بررسی سرریز و ... که اگه بخواید انجام بشه، حجم بالا می ره.
3 - بخش های اضافی که اصلا استفاده نمی شن و هر چی کامپایلر قوی تر باشه بهتر می تونه این بخش ها رو از برنامه ی شما حذف کنه و خودش هم چیزی بهش اضافه نکنه
4 - بهینه سازی کد بر اساس حجم که باعث کاهش سرعت برنامه می شه . اینم به انتخاب کاربر هست بسته به نیازی که داره. مثلا برای یه برنامه ی آزمون و خطا مهم ترین چیز سرعت هست نه حجم.
5 - پردازنده ای که دارید براش کامپایل می کنید. هر چی مدلش بالاتر باشه دستوراتش هم بیشتره و اگه کامپایلر شما به روز باشه می تونی از تمام دستورات پردازنده استفاده کنه و حجم رو پایین بیاره. کاملا مشخصه که اگه برای یه پردازنده ی جدید کامپایل کنید برنامه دیگه روی پردازنده های قدیمی تر اجرا نخواهد شد
6 - ادغام بخش های فایل اجرایی و هر چه کوچک تر کردن اندازه ی Section های فایل اجرایی
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.