Sign in Join
Wiki copytemporary

Lazarus Faq/ar

한국어 · Deutsch · English · Español · Français · Italiano · Magyar · Português · Slovenčina · Русский · العربية · 中文(中国) · 中文(台灣) · 日本語

لماذا يكون حجم الملف التنفيذي الناتج كبير ؟

تكون الملفات التنفيذية كبيرة لاحتوائها علي معلومات التنقيح (debug information) واللازمة لعمل (gdb منقح جنو ).

المفسر يحتوي علي خيار لأزالة هذه المعلومات من الملف التنفيذي (-Xs),ولكن نظرا لوجود علة في المفسر (الاصدار 2.0.2 وما قبله ),فإنه لا يعمل جيدا . تم إصلاح هذه العلة بدءا من الاصدار 2.0.4 من المفسر.

كذلك يمكنك أستخدام برنامج strip لأزالة معلومات التنقيح من الملف التنفيذي . وتجده عادة في المسار

lazarus/pp/bin/i386-win32/.

كل ما عليك هو تنفيذ اﻷمر

strip --strip-all <your executable file with path>

إذا أردت تصغير حجم البرنامج أكثر عليك تجربة UPX أيضا .UPX أداة رائعة لضغط الملفات التنفيذية ,كما أنه سريع في عملية فك الضغط (حوالي 10 ميجا بايت في الثانية علي معالج بنتيوم 133)

فقط عليك تنفيذ اﻷمر

upx <your executable file with path>

بعد أستخدامك لهاتين الوسيلتين للضغط سيصبح برنامج بواجهة رسومية بسيط في لازاروس بمساحة

مزيد من التفاصيل عن أستخدام UPX تجدها في Size Matters

من المهم أيضا أن تلاحظ أن برنامج "مرحبا بالعالم " في Lazarus يحتوي علي مزايا كثيرة .فهو يتضمن :

لذا لزم أن يكون كبير الحجم ولكنه بذلك يحتوي علي كل شئ بحتاجه أي برنامج حقيقي لكي يعمل .

حجم الملف التنفيذي الناتج من lazarus يبدأ كبير , ولكنه ينمو ببطء شديد وذلك بسبب مفسر free pascal والطريقة اللتي تعمل بها فورمات lazarus .

علي سبيل المثال لو نظرنا إلي تطبيق مكتوب بـ C++ يبدأ ضغير جدا في برنامج "مرحبا بالعالم " ولكنه يبدأ بالنمو بشكل سريع عندما تبدأ في إضافة خواص متقدمة له .

دليل سريع لكيفية تقليص حجم تطبيق Lazarus/FPC (أختبر علي اﻷصدار 0.926 من Lazarus)

Strip Symbols From Executable (-Xs) -> Checked

وعلي ما يبدو أن أهم عنصر في الخطوات السابقة هو رقم 2 .لتطبيق بسيط يصبح الحجم من 1 الي 3 ميجا بدلا من 15 -20 ميجا . هنا يمكنك أيضا تجربة

Project|Compiler Options|Code|Optimizations|smaller rather than faster -> Checked

(ولكن أحذر فهذا قد يقلل اﻵداء)

Chart of default sizes for an empty Application with various settings and operating systems

Well I ran tests I did on Lazarus 0.9.29 with FPC 2.4 (FPC 2.2.4 with Windows). Optimized compiler mean using the advices above but without using UPX. Default Lazarus means as installed from package/setup. LCL without debug informations mean after rebuilding Lazarus IDE and LCL without debug informations (-g-).

   

Default Lazarus

   

LCL without debug informations

Ubuntu 64 bits / Lazarus 64 bits

Default application

   

13,4  Mb

   

7,5 Mb / 8

Optimized compiler

   

4,4 Mb

   

2,70 Mb (0.29svn FPC2.4 2,5)

   

Ubuntu 32 bits / Lazarus 32 bits

Default application

   

19,6  Mb

   

5,7 Mb

Optimized compiler

   

2,9 Mb

   

1,6 Mb

   

Windows XP 32 bits / Lazarus 32 bits

Default application

   

11,8 Mb

   

2,14 Mb

Optimized compiler

   

1,62 Mb

   

1,50 Mb

   

Windows Seven 64 bits / Lazarus 64 bits

Default application

   

12,3  Mb

   

3,20 Mb

Optimized compiler

   

2,14 Mb

   

2,16 Mb


From the Free Pascal wiki, page "Lazarus Faq/ar", as it stood on 2015-06-06 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 2, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.