# Native Code > برنامه نویسی در Delphi > توسعه نرم افزار مستقل از سکو > سوال: چرا حجم برنامه های ایجاد شده با Lazarus اینقدر بالا است؟؟؟

## BORHAN TEC

سلام
من یک برنامه بسیار ساده با Lazarus ایجاد کرده ام. من برای ساخت این برنامه هیچ کدی را ننوشتم و فقط چند تا Button روی فرم انداختم. موقعی که برنامه را کامپایل کردم متوجه شدم که حجم فایل exe ساخته شده 12 مگابایت است. یک نکته جالب دیگه: موقعی که این فایل exe را با winrar فشرده کردم فایل rar ساخته شده حدوداً به 1 مگابایت رسید و این نشان می دهد که فایل اجرایی ساخته شده با Lazarus بسیار می تواند فشرده شود. 
من باید چه کاری انجام بدهم که فایل اجرایی ایجاد شده حجم کمی داشته باشد؟؟؟ 
آیا باید گزینه های کامپایلر را تنظیم کنم؟؟؟ 
اگر اینطور است، لطفاً توضیح دهید؟؟؟
در ضمن من از نسخه 0.9.28.2 beta نرم افزار Lazarus استفاده می کنم.

----------


## BORHAN TEC

یعنی تا به حال کسی با Lazarus کار نکرده؟!!!  :متعجب:

----------


## Felony

اتفاقا چند روز پیش تو Yahoo با یکی از بچه های SOF داشتم صحبت میکردم اون هم از همین موضوع شکایت میکرد و میگفت خیلی دنبالش گشته و چیز خاصی جز استفاده از Packer پیدا نکرده ؛ حالا صحتش رو نمیدونم ...

----------


## vcldeveloper

بخش عمده اش Debug info هست، که میشه در نسخه نهایی آنها را تولید نکرد، ولی حتی در اون صورت هم، با وجود کاهش حجم، حجم فایل تولید شده از فایل های تولید شده توسط دلفی بیشتر خواهد بود، و ممکن هست همچنان نیاز به استفاده از Packer داشته باشید.

----------


## a_mosavian

برای کاهش حجم:

نوع Built Configuration رو روی Release تنظیم کن. اگه چنین چیزی نیافتی،  توی تنظیمات پروژه گزینه های مربوط به دیباگ رو بردار. گرچه این کار  دیباگینگ رو با اشکال روبرو می کنه و بهتره هنگامی که دیباگینگ برنامه  پایان گرفت انجام بشه. گزینه های مربوط به چک اورفلو و I/O رو هم بردار تا سرعت برنامه ت بیشتر شه!از upx بهره بگیر تا پرونده رو فشرده کنی! گرچه راه حل اصولی نیست ولی نه کسی می فهمه و نه مشکلی پدید میاد! وانگهی این راه حل تنها برای ویندوز هست. اگه برای مک یا لینوکس از لازاروس بهره می گیری باید برنامه های مشابه اون رو پیدا کنی.

----------


## a_mosavian

Under Windows executable file size is somewhat larger than the Delphi  (6/7) equivalent because debug information is included within Lazarus  executables, instead of as separate files like Delphi. Lazarus program  file size can be significantly reduced by using external symbols file  (it can be set in Compiler options), and also by using Strip and UPX (although UPX has significant disadvantages). See FPC wiki: Size Matters

----------


## delphi887

سلام
در تکمیل صحبت های دوستان می توانید اطلاعات زیر را مطالعه کنید .
http://shahriary.staffcms.um.ac.ir/?...catid=309:_m_e
یا حق

----------


## champion

این حجم زیاد مربوط به نگهداری اطلاعات اضافی برای دیباگ برنامه در فایل اگزه هست . شما باید برای کاهش حجم برنامه باید لازاروس رو به نحوی تنظیم کنید که این اطلاعات رو در یک فایل جداگانه نگهداری کنه . باری این کار مراحل زیر باید انجام بشه : 
1- از منوی Project ، گزینه Project Option  را انتخاب کنید
2- از درخت سمت چپ فرم ، گزینه compiler Option گزینه Linking را انتخاب نمایید تا تنظیمات آن دیده شود 
3- حال گزینه Use extera gdb debug symbol file (-Xg را انتخاب نمایید . 
4- فرم را بسته و برنامه خود را مجددا کامپایل نمایید و تمام . 
حال ملاحظه می‌نمایید که حجم برنامه به حدود یک مگابایت کاهش پیدا کرده است . 

.

----------

