2012-08-28 10 views
6

एम्बरकैडेरो आरएडी स्टूडियो 2010 में, "डायनेमिक आरटीएल" नामक स्थैतिक पुस्तकालयों के लिए परियोजना विकल्पों में एक सेटिंग है। (यह टीएलआईबी सेक्शन में है।)स्थिर पुस्तकालय के लिए "गतिशील आरटीएल" सेटिंग बदलने का क्या प्रभाव है?

मैं इस धारणा के तहत था कि आरटीएल को गतिशील रूप से या स्थैतिक रूप से लिंक करने के बारे में निर्णय संकलन समय पर नहीं, लिंक-टाइम पर किया गया है। लेकिन स्थैतिक libs केवल संकलित; कोई लिंक कदम नहीं है। तो, इस विकल्प को बदलने से मेरी स्थिर lib कैसे प्रभावित होती है?

मेरे पास कुछ .exe और .dll प्रोजेक्ट हैं जो इन स्थिर libs का उपयोग करते हैं और मैंने उन परियोजनाओं में "डायनामिक आरटीएल" विकल्प सेट किया है। यह समझ में आता है क्योंकि उनके पास वास्तव में लिंक करने के लिए कुछ है, लेकिन मुझे समझ में नहीं आता कि इस सेटिंग में स्थिर libs पर क्या प्रभाव पड़ा है।

क्या यह किसी भी समस्या का कारण बन सकता है यदि स्थैतिक libs में गतिशील RTL = true है जबकि DLLs और EXEs जो इस libs का उपयोग करते हैं, उनमें डायनामिक RTL = false है?

उत्तर

6

मैं Embarcadero का उपयोग नहीं करता, लेकिन सी ++ बिल्डर का पुराना संस्करण उपयोग नहीं करता हूं। मुझे लगता है कि वे वही काम करते हैं। जब आप डायनामिक आरटीएल का उपयोग करते हैं तो आपका कोड रनटाइम डीएलएल से आरटीएल कार्यों को कॉल करेगा जो आपके प्रोग्राम के साथ भेजना चाहिए। जब आप गतिशील आरटीएल का उपयोग नहीं करते हैं, तो फ़ंक्शंस को libs से आपके exe या lib फ़ाइलों में कॉपी किया जाता है। मैं गतिशील आरटीएल का उपयोग EXE फ़ाइलों के आकार को कम करता हूं। तर्क exe या libs के लिए समान है। इसका मतलब यह है कि यदि आप किसी भी मॉड्यूल में गतिशील आरटीएल का उपयोग करते हैं, तो एक्सई या लीब बनें, आपको उचित रनटाइम डीएलएल भी भेजना होगा।

संबंधित मुद्दे