वर्षों से मेरा आवेदन 1 एमबी से 25 एमबी तक बढ़ गया है और मुझे उम्मीद है कि यह 40, 50 एमबी तक बढ़ेगा। मैं डीएलएल का उपयोग नहीं करता, लेकिन इस सब को एक बड़े निष्पादन योग्य में डाल देता हूं।एक बड़ा निष्पादन योग्य या कई छोटे डीएलएल?
- ग्राहक पर मेरे अनुप्रयोग स्थापित करना वास्तव में है::
एक बड़ा निष्पादन योग्य होने के लिए कुछ फायदे हैं कॉपी और रन।
- उन्नयन आसानी से ज़िपित और ग्राहक
- के लिए भेजा DLL के परस्पर विरोधी होने का कोई खतरा नहीं है हो सकता है (जहां ग्राहक EXE के संस्करण एक्स है, लेकिन DLL के संस्करण वाई)
बड़ा बड़े EXE का नुकसान यह है कि लिंकिंग समय तेजी से बढ़ने लगते हैं।
अतिरिक्त समस्या यह है कि कोड का एक हिस्सा (चलिए 40% के बारे में कहते हैं) को किसी अन्य एप्लिकेशन के साथ साझा किया जाता है। फिर, लाभ हैं कि:
- गलत DLL संस्करणों
- हर डेवलपर आम कोड जो घटनाओं को गति पर परिवर्तन कर सकते हैं का मिश्रण होने पर कोई खतरा नहीं है।
लेकिन फिर से, इसका संकलन समय पर गंभीर प्रभाव पड़ता है (हर कोई अपने पीसी पर फिर से सामान्य कोड संकलित करता है) और लिंकिंग समय पर।
सवाल Grouping DLL's for use in Executable DLL का मिश्रण एक निष्पादन में की संभावना का उल्लेख है, लेकिन ऐसा लगता है कि यह अभी भी मैन्युअल रूप से अपने आवेदन (LoadLibrary, GetProcAddress, ... का प्रयोग करके) में सभी कार्यों से जोड़ने के लिए की आवश्यकता है।
निष्पादन योग्य आकार, डीएलएल के उपयोग और आसान तैनाती और आसान/तेज़ विकास के बीच सर्वोत्तम 'संतुलन' पर आपकी राय क्या है?
यह देखते हुए कि "एक बड़ा EXE" मॉडल सूचीबद्ध सूचीबद्ध नुकसान डेवलपर के लिए हैं, उपयोगकर्ता नहीं, यह विचार बहुत समझ में आता है। –
वास्तव में मैं अब क्या कर रहा हूं, लेकिन मैंने इस सवाल से पूछा कि मुझे लगता है कि हर कोई डीएलएल के बहुत सारे उपयोग कर रहा है, लेकिन जाहिर है, यहां दिए गए सभी उत्तर एकल-एक्सई समाधान पसंद करते हैं। – Patrick