Exe के आकार को कैसे कम करें

विषयसूची:

Exe के आकार को कैसे कम करें
Exe के आकार को कैसे कम करें

वीडियो: Exe के आकार को कैसे कम करें

वीडियो: Exe के आकार को कैसे कम करें
वीडियो: घर पर जल्दी से स्तन का आकार कम करने के लिए सरल व्यायाम बड़े स्तन 2024, मई
Anonim

व्यक्तिगत कंप्यूटरों पर कम मात्रा में RAM और लंबी अवधि के भंडारण उपकरणों ने कार्यक्रमों के आकार पर बहुत सख्त प्रतिबंध लगाए। यह समस्या आज मौजूद नहीं है। हालांकि, अब भी कभी-कभी विकसित एप्लिकेशन के एक्सई-मॉड्यूल के आकार को जितना संभव हो उतना कम करना महत्वपूर्ण है।

exe के आकार को कैसे कम करें
exe के आकार को कैसे कम करें

ज़रूरी

  • - स्रोत;
  • - संकलक, लिंकर;
  • - पीई मॉड्यूल के कम्प्रेसर, जैसे यूपीएक्स, थेमिडा।

निर्देश

चरण 1

निष्पादन योग्य एप्लिकेशन का रिलीज़ संस्करण बनाएं। IDE में प्रोजेक्ट सेटिंग्स में उपयुक्त कॉन्फ़िगरेशन का चयन करें। यदि ऐसा कोई कॉन्फ़िगरेशन नहीं है, तो इसे मौजूदा कॉन्फ़िगरेशन के आधार पर बनाएं। उचित निर्देशों को हटाकर और जोड़कर लिंकर विकल्पों की सूची को संशोधित करें। इसलिए, Microsoft से विकास पैकेज का उपयोग करते समय, आपको / डिबग विकल्प को हटा देना चाहिए। आप स्रोत कोड में निम्नलिखित निर्देश भी जोड़ सकते हैं: #pragma टिप्पणी (लिंकर, "/ रिलीज")

चरण 2

जितना संभव हो सके स्थिर पुस्तकालयों के साथ निष्पादन योग्य को जोड़ने से बचने के लिए प्रोजेक्ट को कॉन्फ़िगर करें। संबंधित पुस्तकालयों के साझा संस्करणों का प्रयोग करें। उदाहरण के लिए, आप लिंकर विकल्प / ML या / MT (स्थिर सिंगल- और मल्टी-थ्रेडेड लाइब्रेरी) को / MD (मल्टी-थ्रेडेड CRT DLL) से बदलकर C और C ++ रनटाइम लाइब्रेरी के कोड को बाहर कर सकते हैं।

चरण 3

Exe मॉड्यूल के विभिन्न वर्गों को एक में मिलाने पर विचार करें। यदि फ़ाइल काफी बड़ी है, तो यह विधि ध्यान देने योग्य परिणाम नहीं देगी, लेकिन 20-30 किलोबाइट के प्रारंभिक मॉड्यूल आकार के साथ, लाभ महत्वपूर्ण हो सकता है। /मर्ज लिंकर विकल्प आपको अनुभागों को मर्ज करने की अनुमति देता है। आप इसे प्रोजेक्ट पैरामीटर के माध्यम से सेट कर सकते हैं: / मर्ज:.text =.data /merge:.reloc=.data /merge:.rdata=.data या स्रोत कोड में pragma निर्देशों का उपयोग करके: #pragma टिप्पणी (लिंकर, "/ मर्ज:.text =.data ") # pragma टिप्पणी (लिंकर," / मर्ज:.reloc=.data")#pragma टिप्पणी (लिंकर, "/ मर्ज:.rdata=.data")#pragma टिप्पणी (लिंकर," / मर्ज:.idata =.data ") परिणामी अनुभाग की विशेषताओं को परिभाषित करना भी समझ में आता है: #pragma टिप्पणी (लिंकर," / अनुभाग:। डेटा, rwe ")

चरण 4

उन ब्लॉकों के आकार का न्यूनतम मान निर्धारित करके exe के आकार को कम करें जिनकी सीमाओं के साथ अनुभाग संरेखित हैं। प्रोजेक्ट गुणों या प्रज्ञा निर्देश को संपादित करके निर्दिष्ट / फाइललाइन लिंकर विकल्प का उपयोग करें: #pragma टिप्पणी (लिंकर, "/ फाइललाइन: 0x200") यह विधि छोटे मॉड्यूल के लिए उपयुक्त है।

चरण 5

मशीन कोड की मात्रा को कम करने के लिए ऑप्टिमाइज़ेशन विकल्पों के साथ इसे बनाकर exe फ़ाइल के आकार को कम करने का प्रयास करें। / O2 या / Od कंपाइलर विकल्पों को / O1 से बदलें।

चरण 6

एक्स-मॉड्यूल में मानक डॉस स्टब को अपने स्वयं के साथ बदलें, जिसका न्यूनतम आकार होगा। / स्टब लिंकर विकल्प का उपयोग करें: #pragma टिप्पणी (लिंकर, "/stub:mystub.exe") यहां mystub.exe डॉस निष्पादन योग्य फ़ाइल का नाम है जिसे exe मॉड्यूल में स्टब के रूप में जोड़ा जाएगा।

चरण 7

आवेदन के लिए अपना खुद का प्रवेश बिंदु निर्दिष्ट करने पर विचार करें। यह स्थैतिक रनटाइम पुस्तकालयों के आरंभीकरण कोड को समाप्त कर देगा। उदाहरण के लिए / प्रविष्टि लिंकर विकल्प का उपयोग करें: #pragma टिप्पणी (लिंकर, "/ प्रविष्टि: MyStartup") शून्य MyStartup () {:: MessageBox (NULL, "Hello!", "Message!", MB_OK);}

चरण 8

तैयार exe फ़ाइल में UPX, ASPack, Themida, PECompact जैसी पैकेजिंग उपयोगिताओं को लागू करें। मॉड्यूल डेटा संपीड़ित किया जाएगा। एप्लिकेशन लॉन्च करने के बाद उन्हें मेमोरी में अनपैक कर दिया जाएगा। यह विधि बड़ी exe फ़ाइलों के लिए अच्छे परिणाम देती है जिसमें कम एन्ट्रापी के साथ बड़ी मात्रा में स्थिर डेटा होता है (उदाहरण के लिए, संसाधन अनुभाग में DIB रेखापुंज)।

सिफारिश की: