2009-10-05 29 views
10

मुझे समझ में नहीं आता कि "संकलन समय" और "रन टाइम" (या "रनटाइम") शब्दों का क्या अर्थ है।"संकलन समय" और "रन टाइम" के बीच क्या अंतर है?

मैं "मूल्य प्रकार" और "संदर्भ प्रकार" का अर्थ क्या है, और वे उपरोक्त वर्णित समय से संबंधित कैसे उलझन में हैं।

क्या कोई इन चीजों को समझाएगा?

उत्तर

21

"संकलन समय" तब होता है जब आप अपना कोड बनाते हैं - जब संकलक आपके स्रोत कोड को आईएल में परिवर्तित करता है।

"रनटाइम" तब होता है जब आपका कोड निष्पादित होता है - ASP.NET के लिए, जब कोई पृष्ठ अनुरोध किया जाता है। (व्यक्तिगत तौर पर मैं शब्द "निष्पादन समय" है कि और के बीच अंतर करना पसंद करते हैं "सामान्य भाषा रनटाइम (CLR)" - आभासी मशीन उर्फ।)

मूल्य प्रकार और संदर्भ प्रकार एक पूरी तरह से अलग अवधारणा है, लेकिन मैं an article है उनके बारे में जो आप उपयोगी पा सकते हैं।

+0

धन्यवाद जोन स्कीट –

+0

मुझे जो कहना है वह संकलन समय पर आवंटित मूल्य प्रकार स्मृति के लिए है और रनटाइम पर आवंटित संदर्भ प्रकार स्मृति के लिए –

+0

@ सूर्य: नहीं, यह बिल्कुल सही नहीं है। वे पूरी तरह अलग अवधारणाएं हैं - उन्हें एक साथ रखने की कोशिश न करें। –

4

एक चर कि एक मान प्रकार, भंडार डेटा है, जबकि एक संदर्भ प्रकार का एक चर डेटा के लिए एक संदर्भ संग्रहीत करता है।

कंप्यूटर विज्ञान में, compile time संदर्भित करता है के लिए या तो संचालन एक संकलक द्वारा किया ("संकलन समय आपरेशन"), कि स्रोत कोड से पूरा किया जाना चाहिए के लिए इसे सफलतापूर्वक संकलित की प्रोग्रामिंग भाषा आवश्यकताओं ("संकलन-समय आवश्यकताओं"), या प्रोग्राम के गुण जिन्हें संकलित समय के बारे में तर्क दिया जा सकता है।

संकलन समय पर किए गए संचालन में आमतौर पर वाक्यविन्यास विश्लेषण, विभिन्न प्रकार के अर्थशास्त्रीय विश्लेषण (उदाहरण के लिए, टेम्प्लेट की जांच और तत्कालता) और कोड जनरेशन शामिल हैं।

कंप्यूटर विज्ञान में, क्वालीफायर run time, क्रम, क्रम, या निष्पादन समय अवधि के लिए, जबकि एक कंप्यूटर प्रोग्राम वास्तव में, मार डाला जाता है समाप्ति के लिए शुरुआत से एक कंप्यूटर में ("रन") संदर्भित करता है। इसका मतलब प्रोग्राम के चलने का समय भी हो सकता है, उस अवधि की अवधि।

+1

मूल्य प्रकार हमेशा ढेर पर संग्रहीत नहीं होते हैं। Http://pobox.com/~skeet/csharp/memory.html –

+0

मेरी पोस्ट संपादित करें देखें। लेख के लिए – rahul

+0

धन्यवाद @ जोन। – rahul

0

अपने पहले प्रश्न के अनुसार, Stack Overflow: Runtime vs Compile time देखें।

अपने दूसरे प्रश्न के अनुसार, Stack Overflow: What are the differences between value types and reference types in C# देखें।

वे कैसे संबंधित हैं: वे स्वतंत्र अवधारणाएं हैं। एक वैरिएबल का मान सेट करना और उसका मान पढ़ना रन टाइम पर होता है; चाहे वह चर वैल्यू टाइप या संदर्भ प्रकार हो या नहीं।

1

वैल्यू टाइप वैरिएबल का मतलब वेरिएबल है जो अपना खुद का मूल्य सीधे स्टोर कर सकता है।
संदर्भ प्रकार चर का अर्थ वेरिएबल है जो मूल्य को संग्रहीत करने के बजाय उनके मूल्य के संदर्भ (i.e.address का मूल्य) संग्रहीत करता है।

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