כיצד להקטין את גודל ה- Exe

תוכן עניינים:

כיצד להקטין את גודל ה- Exe
כיצד להקטין את גודל ה- Exe

וִידֵאוֹ: כיצד להקטין את גודל ה- Exe

וִידֵאוֹ: כיצד להקטין את גודל ה- Exe
וִידֵאוֹ: Вяжем красивую нарядную женскую кофточку из пряжи Фловерс с люрексом крючком. Часть 1. 2024, דֵצֶמבֶּר
Anonim

הכמות הקטנה של זיכרון RAM והתקני אחסון ארוכי טווח במחשבים אישיים בעבר הטילה מגבלות קפדניות מאוד על גודל התוכניות. הבעיה הזו לא קיימת כיום. עם זאת, גם עכשיו חשוב למזער ככל האפשר את גודל מודול ה- exe של היישום המפותח.

כיצד להקטין את גודל האקסית
כיצד להקטין את גודל האקסית

נחוץ

  • - מקור;
  • - מהדר, מקשר;
  • - מדחסים של מודולי PE, כגון UPX, Themida.

הוראות

שלב 1

בנה את גרסת השחרור של הפעלת היישום. בחר את התצורה המתאימה בהגדרות הפרויקט ב- IDE. אם אין תצורה כזו, צור אותה על סמך התצורה הקיימת. שנה את רשימת אפשרויות הקישור על ידי הסרה והוספה של הוראות מתאימות. לכן, בעת שימוש בחבילת פיתוח ממיקרוסופט, עליך להסיר את האפשרות / ניפוי באגים. ניתן גם להוסיף את ההנחיה הבאה לקוד המקור: #pragma comment (linker, "/ RELEASE")

שלב 2

הגדר את הפרויקט כך שיימנע ככל האפשר מקישור ההפעלה לספריות סטטיות. השתמש בגרסאות משותפות של הספריות המתאימות. לדוגמה, באפשרותך לא לכלול את הקוד של ספריות זמן הריצה C ו- C ++ על ידי החלפת אפשרות הקישור / ML או / MT (ספריות סטטיות חד-מרובות-שרשוריות) ב- / MD (CRT DLL רב-הברגה).

שלב 3

שקול למזג חלקים שונים של מודול ה- exe לאחד. שיטה זו לא תיתן תוצאה ניכרת אם הקובץ גדול מספיק, אך עם גודל המודול הראשוני של 20-30 קילובייט, הרווח יכול להיות משמעותי. האפשרות / מיזוג מקשר מאפשרת למזג חלקים. אתה יכול להגדיר את זה דרך הפרמטרים של הפרויקט: / מיזוג:.text =.data /merge:.reloc=.data /merge:.rdata=.data או באמצעות הוראות פרגמה בקוד המקור: #pragma comment (linker, "/ מיזוג:.text =.data ") הערת פרגמה # (מקשר," /merge:.reloc=.data")# תגובה פרגמה (מקשר, "/merge:.rdata=.data")# תגובה פרגמה (מקשר," / מיזוג:.idata =.data ") זה גם הגיוני להגדיר את התכונות של החלק שנוצר: הערה # פרגמה (מקשר," / סעיף: נתונים, rwe ")

שלב 4

צמצם את גודל ה- exe על ידי הגדרת הערך המינימלי של גודל הבלוקים שלאורך גבולותיהם מיושרים החלקים. השתמש באופציה / filealign linker שצוינה על ידי עריכת מאפייני הפרויקט או הנחיית הפרגמה: #pragma comment (linker, "/ filealign: 0x200") שיטה זו מתאימה למודולים קטנים.

שלב 5

נסה להקטין את גודל קובץ ה- exe על ידי בנייתו עם אפשרויות אופטימיזציה להפחתת כמות קוד המכונה. החלף את אפשרויות המהדר / O2 או / Od עם / O1.

שלב 6

החלף את תוף ה- DOS הסטנדרטי במודול ה- exe בשלך, שיהיה לו הגודל המינימלי. השתמש באפשרות / stub linker: #pragma comment (linker, "/stub:mystub.exe") כאן mystub.exe הוא שמו של קובץ ההפעלה DOS שיתווסף למודול exe כ- stub.

שלב 7

שקול לציין את נקודת הכניסה שלך ליישום. זה יבטל את קוד האתחול של ספריות זמן הריצה הסטטיות. השתמש באפשרות / entry linker, למשל: #pragma comment (linker, "/ entry: MyStartup") בטל MyStartup () {:: MessageBox (NULL, "Hello!", "Message!", MB_OK);}

שלב 8

החל כלי אריזה כמו UPX, ASPack, Themida, PECompact על קובץ ה- exe המוגמר. נתוני המודול יידחסו. הם ייפרקו לזיכרון לאחר השקת היישום. שיטה זו נותנת תוצאות טובות עבור קבצי exe גדולים המכילים כמות גדולה של נתונים סטטיים עם אנטרופיה נמוכה (למשל, DIB rasters בסעיף המשאבים).

מוּמלָץ: