2012-08-27 13 views
7

लिंकिंग संकलन और लिंकिंग से बना अनुक्रम है।.NET भवन प्रक्रिया और

.NET में स्रोत कोड को असेंबली में संकलित किया गया है जिसमें सामान्य इंटरमीडिएट भाषा और प्रकार की जानकारी शामिल है। रन टाइम पर जेआईटी कंपाइलर सीआईएल कोड को देशी कोड में परिवर्तित करता है।

मुझे समझ में नहीं आता, .NET में, लिंकिंग कब और कब होती है।

क्या कोई इस प्रक्रिया को समझा सकता है?

अग्रिम

+0

* लिंकिंग * से आपका क्या मतलब है? –

+0

@SergRogovtsev [लिंकर (कंप्यूटिंग)] (http://en.wikipedia.org/wiki/Linker_%28computing%29) – Nasreddine

+0

@Nacereddine क्या आप इस प्रश्न के लेखक हैं? –

उत्तर

6

वहाँ सी ++ के मामले में कोई जोड़ने है धन्यवाद।

मेरा मतलब है, कोई मध्यवर्ती "obj"/"lib" फ़ाइलें नहीं है, जिसे बाद में वितरित और अन्य "obj" फ़ाइलों से जोड़ा जा सकता है। एक असेंबली के संदर्भ में हमेशा गतिशील व्यवहार (हमेशा गतिशील-लिंक लाइब्रेरी) होता है, सी ++ स्थिर लिंकिंग के विपरीत।

कुछ जैसे लिंकिंग .netmodule का निर्माण है। आप असेंबली के बजाय .netmodule में कंपाइलर के साथ .NET स्रोत कोड बना सकते हैं (here देखें, विशेष रूप से सेक्शन "Differences Between C# Compiler and C++ Compiler Output"), और बाद में आप इन मॉड्यूल को एक ही असेंबली में जोड़ सकते हैं (al.exe देखें)।

लेकिन यह असामान्य अभ्यास है - अधिकांश विधानसभाओं में एकल मॉड्यूल होता है, और यह कार्य (स्रोत -> मॉड्यूल -> असेंबली) दृश्यों के पीछे संकलक (उदाहरण के लिए, csc.exe) द्वारा किया गया है। साथ ही, मुझे .netmodule (असेंबली के सेट के रूप में नहीं) के सेट के रूप में पुनर्वितरित किए जाने वाले किसी भी उत्पाद को याद नहीं किया जा सकता है।

+0

आपके उत्तर के लिए धन्यवाद :) – ProgNet

+0

आपका स्वागत है। – Dennis

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