كيفية تقليل حجم ملف Exe

جدول المحتويات:

كيفية تقليل حجم ملف Exe
كيفية تقليل حجم ملف Exe

فيديو: كيفية تقليل حجم ملف Exe

فيديو: كيفية تقليل حجم ملف Exe
فيديو: كيفية تقليل حجم الملفات لتصغير حجمها لغرض توفير مساحة على الجهازاو ارسالها او رفعها على الانترنت 2024, أبريل
Anonim

فرضت الكمية الصغيرة من ذاكرة الوصول العشوائي وأجهزة التخزين طويلة المدى على أجهزة الكمبيوتر الشخصية في الماضي قيودًا صارمة للغاية على حجم البرامج. هذه المشكلة غير موجودة اليوم. ومع ذلك ، حتى الآن من المهم في بعض الأحيان تقليل حجم وحدة exe للتطبيق المطور قدر الإمكان.

كيفية تقليل حجم ملف exe
كيفية تقليل حجم ملف exe

ضروري

  • - مصدر؛
  • - مترجم ، رابط ؛
  • - ضواغط وحدات البولي ايثيلين مثل UPX و Themida.

تعليمات

الخطوة 1

بناء نسخة الإصدار من التطبيق القابل للتنفيذ. حدد التكوين المناسب في إعدادات المشروع في IDE. إذا لم يكن هناك مثل هذا التكوين ، فقم بإنشائه بناءً على التكوين الحالي. تعديل قائمة خيارات الرابط عن طريق إزالة وإضافة التوجيهات المناسبة. لذلك ، عند استخدام حزمة تطوير من Microsoft ، يجب عليك إزالة خيار / debug. يمكنك أيضًا إضافة التوجيه التالي إلى شفرة المصدر: #pragma comment (linker، "/ RELEASE")

الخطوة 2

قم بتكوين المشروع لتجنب ربط الملف التنفيذي بالمكتبات الثابتة قدر الإمكان. استخدم الإصدارات المشتركة من المكتبات المعنية. على سبيل المثال ، يمكنك استبعاد رمز مكتبات وقت تشغيل C و C ++ عن طريق استبدال خيار الرابط / ML أو / MT (مكتبات ثابتة مفردة ومتعددة الخيوط) بـ / MD (DLL CRT متعدد الخيوط).

الخطوه 3

ضع في اعتبارك دمج أقسام مختلفة من وحدة exe في وحدة واحدة. لن تعطي هذه الطريقة نتيجة ملحوظة إذا كان الملف كبيرًا بدرجة كافية ، ولكن مع حجم الوحدة الأولية من 20 إلى 30 كيلو بايت ، يمكن أن يكون الكسب كبيرًا. يتيح لك خيار رابط الدمج / دمج الأقسام. يمكنك تعيينه من خلال معلمات المشروع: / merge:.text =.data /merge:.reloc=.data /merge:.rdata=.data أو باستخدام توجيهات pragma في شفرة المصدر: #pragma comment (linker، "/ دمج:.text =.data ") # تعليق pragma (رابط ،" /merge:.reloc=.data")#pragma comment (linker، "/merge:.rdata=.data")#pragma comment (linker،" / merge:.idata =.data ") من المنطقي أيضًا تحديد سمات القسم الناتج: #pragma comment (linker،" /section:.data، rwe ")

الخطوة 4

قم بتقليل حجم exe عن طريق تعيين الحد الأدنى لقيمة حجم الكتل على طول الحدود التي تتم محاذاة الأقسام منها. استخدم خيار رابط / filealign المحدد بتحرير خصائص المشروع أو توجيه pragma: #pragma comment (linker، "/ filealign: 0x200") هذه الطريقة مناسبة للوحدات الصغيرة.

الخطوة الخامسة

حاول تقليل حجم ملف exe عن طريق بنائه بخيارات التحسين لتقليل مقدار رمز الجهاز. استبدل خيارات المحول البرمجي / O2 أو / Od بـ / O1.

الخطوة 6

استبدل كعب DOS القياسي في وحدة exe بأخرى خاصة بك ، والتي سيكون لها الحجم الأدنى. استخدم خيار رابط / stub: #pragma comment (linker، "/stub:mystub.exe") هنا mystub.exe هو اسم الملف القابل للتنفيذ DOS الذي سيتم إضافته إلى الوحدة النمطية exe كعنصر كعب.

الخطوة 7

ضع في اعتبارك تحديد نقطة الدخول الخاصة بك إلى التطبيق. سيؤدي هذا إلى التخلص من رمز التهيئة لمكتبات وقت التشغيل الثابتة. استخدم خيار رابط الإدخال / ، على سبيل المثال: #pragma comment (linker، "/ entry: MyStartup") void MyStartup () {:: MessageBox (NULL، "Hello!"، "Message!"، MB_OK)؛}

الخطوة 8

قم بتطبيق أدوات التغليف مثل UPX و ASPack و Themida و PECompact على ملف exe النهائي. سيتم ضغط بيانات الوحدة. سيتم تفريغها في الذاكرة بعد تشغيل التطبيق. تعطي هذه الطريقة نتائج جيدة لملفات exe الكبيرة التي تحتوي على كمية كبيرة من البيانات الثابتة ذات الإنتروبيا المنخفضة (على سبيل المثال ، البيانات النقطية DIB في قسم الموارد).

موصى به: