گاه نوشته های ذهن پریشون

My Brainstorm

کاهش حجم فایل های EXE در Lazarus

چهارشنبه, ۱ آبان ۱۳۹۲، ۰۳:۵۲ ب.ظ

 

در اولین برخورد با این IDE مشکلی که شاید موردتوجه واقع گردد، داشتن حجم زیاد فایل های کامپایل شده (exe) هست که شاید دلیلی باشد تا شما منصرف از استفاده این محیط شوید.

 

در ورژن ۱٫۰٫۱۲ که روی سیستمم نصب کرده ام، خروجی یک پروژه که فقط یک فرم خالی دارد نزدیک به ۱۵MB می باشد!!! به دلیل اینکه فایل همراه با اطلاعات اضافی و Debug می باشد که برای کار با gdb نیاز است. برای برطرف نمودن این مشکل یکی از تولزهای خود لازاروس استفاده می کنیم.

 

ابزار STRIP  تقریبا فایل را به ۲۰ درصد حجم فعلی می رساند و اطلاعات اضافی را از روی فایل کامپایل شده حذف خواهد نمود. حالا می توان از upx هم استفاده نمود و حجم را بیشتر کاهش دهیم. تولز STRIP در مسیر زیر قرار دارد(تمامی تنظیمات را بصورت پیش فرض نصب کردم):

 

C:\lazarus\fpc\2.6.2\bin\x86_64-win64\strip

 

و بصورت command-line می توان داده های اضافی (symbol,relocation) را از روی فایل خروجی حذف نماییم تا حجم فایل کاهش یابد.

 

strip –strip-all  COMPILED_FILE_PATH

 

حال بدین صورت فایل ۱۵MB به ۲MB کاهش خواهد یافت. راه دیگر تغییر تنظیمات کامپایل در Project Option از منوی Project  می باشد.

  1. در بخش Code Generation گزینه Smart Linkable (-CX) را فعال کنید.
  2. دربخش Linking قسمت Debugging تمامی گزینه ها به جز except Strip Symbols From Executable (-Xs) را غیرفعال کنید.
  3. در بخش Linking گزینه Link Smart (-XX) را فعال کنید.

این تنظیمات فقط زمانی اعمال کنید که نیازی به اجرای دیباگر ندارید. راه دیگربرای کاهش حجم فایل exe استفاده از گزینه External gdb debug symbols در بخش Linking می باشد که در تصویر زیر می بینید:

 

 

از برنامه نویسی Cross-Platform لذت ببرید …

 

  • موافقین ۰ مخالفین ۰
  • چهارشنبه, ۱ آبان ۱۳۹۲، ۰۳:۵۲ ب.ظ

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی