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

## Jarvis

شاید اولین بار که اولین پروژه خود را با لازاروس ایجاد  کنید و فایل اجرایی را در خروجی مشاهده کنید متوجه شوید که به نسبت برنامه  ای که ساخته اید حجم بسیار بالایی دارد. 
این سوالی است که خیلی ها این موقع از خودشون می پرسند : *چرا حجم فایل های اجرایی تولید شده با Lazarus زیاد است ؟؟؟* 
فایل  های نهایی تولید شده با لازاروس از حجم زیادی برخوردارند و علت اصلی اون  به خاطر گنجاندن اطلاعات Debug شده به فایل اجرایی کامپایل شده است . این  اطلاعات مورد نیاز GDB هستش ( دیباگر GNU) . اگر از یک کامپایلر دیگر به  عنوان مثال ++C استفاده کنید حجم فایل تولید شده بسیار کمتر از فایل همان  برنامه که توسط Lazarus کامپایل شده است . ولی باید گفت در پروژه های بزرگ  که پیچیدگی و کد زیادی دارند Lazarus بهتر عمل می کند و افزایش حجم آن به  نسبت کامپایلر های مشابه خیلی کمتر است و در پایان فایل اجرایی که Lazarus  تولید می کند از همانند های آن حجم به مراتب پایین تری خواهد داشت .تصویر  زیر روند افزایش حجم فایل اجرایی یک برنامه مشابه در دو کامپایلر Lazarus و  ++C را با هم مقایسه می کند . 
 
در  صورتی که تمایل داشته باشید می توانید مانع افزوده شدن اطلاعات Debugger  به فایل اجرایی شوید . با این کار حجم فایل اجرایی نهایی به شدت کاهش پیدا  می کند . برای این کار این باید به منوی Project و سپس قسمت Project Option  بروید . سپس در قسمت Compiler Option گزینه ی Code Generation را انتخاب  کرده و گزینه ی Smart Linkable را تیک بزنید . بعد از قسمت Compiler Option  گزینه ی Linking را انتخاب نمایید و تمام تیک های قسمت Debugging را  بردارید و گزینه ی Strip Symbols From Executable را از همین قسمت تیک  بزنید همچنین در قسمت بالا پنجره گزینه ای با عنوان Generate Debugging  info را از حالت انتخواب خارج کنید. و در نهایت در قسمت پایین تر همین  گزینه در قسمت Link Style گزینه ی Link Smart را تیک بزنید . با انجام  اعمال بالا تا حد زیادی حجم فایل اجرایی کامپایل شده کم می شود . البته  هنوز هم می شود کارهای دیگری بر روی کامپایلر انجام داد که باعث کمتر شدن  حجم فایل اجرایی تولید شده می شود ولی ممکن است باعث کم شدن کارایی برنامه  شود و یا مشکلات دیگری بعدا ایجاد کند. 
اطلاعات بیشتر : http://wiki.lazarus.freepascal.org/Lazarus_Faq
منبع : http://wiki.ubuntu.ir/LazarusExecutabeSize

----------

