delphi4arab منتديات دلفي للعرب

نسخة كاملة : اصغر تطبيق <1kb
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم

حبيت اشاركم ب هذا المثال من انتاجي , يعني هو فضول لا اكثر , البعض يضن ان فري باسكال و لازارس لا يمكنه انتاج تطبيق بحجم صغير , المثال المرفق هو عبارة عن نافذة فقط لكن بحجم 808 بايت .

الضغط تم بواسطة crinkler

إقتباس :البعض يضن ان فري باسكال و لازارس لا يمكنه انتاج تطبيق بحجم صغير
صغر الحجم هنا ليس بسبب Free Pascal أو Lazarus بل:
1- عدم استعمال Runtime الخاصة بالCompiler
2- استخدام Linker مختلف عن الذي ياتي مدمج مع الCompiler
3- برنامج ضغط

وهنا حالة فريدة أو خاصة لان crinkler هو 1+2 معا بنفس الوقت
لمن هو مهتم به موقعه
كود :
http://www.crinkler.net/
crinkler غير عملي بالنسبة لتطبيقات/البرامج العامة لانه يستهلك موارد كثيرة (معالج+ذاكرة) عند استخدامه و/أو تنفيذه

طبعا يمكن عمل نفس الشيئ بدلفي وهذا dmini مثال ليس من انتاجي، ليس نافذة بل مثال يستخدم OpenGL بدلفي والحجم النهائي 932 فقط
-
موضوع ذو صلة : خطوات بناء ملف تنفيذي تطبيق ويندوز (Win32)
اصغر حجم ب فري باسكال مع rtl الاصلي هو 30 كيلو
يمكن الاستغناء عن rtl لكن ايضا سنستغني عن :
Multithreaded heap management, code page conversion tables for strings, wide string managers, thread managers, stack checking, command line parsing, virtual methods for TObject


اما بالنسبة ل crinkler فهو غير عملي كماقال عبد العزيز , فهو موجه الى 4k demos

اعدت ترجمة dmini ب فري باسكال و النتيجة 909بايت , يعني +1 ل fpc
لا تقفز مباشرة الى النتيجة وإطرح السؤال لماذا ؟ بمثالك استخدمت crinkler version 1.3
بمثال دلفي dmini تجد ان اصدار crinkler هو 1.2
غيره بالاصدار 1.3 ثم Compile تجد حجم مثال دلفي 905 بايت.
لم الاحظ فرق الاصدارات .

لكن لاحظ ان هذه النتيجة اتت نتيجة visual cpp 6 linker الذي دمج المقاطعات rdata و _INIT_ . و التي هي غير ممكنة بدلفي وحده

على العموم دائما دلفي يفوز في النهاية
لحجم أقل ضعالملفالموجود مع مجلد المشروع و استخدمه بعد بناء الملف التنفيذي
معذرة و لكني أحببت الرجوع للموضوع و ذلك الملف السابق رفعه لم يعمل على الوجه المطلوب ف اصدارات ويندوز أقل من 7
فوضعت البرامج المستخدمة و ملف الباتش في ملف مضغوط قم باستخراجه في ملف المشروع و افتح ملف الباتش