2010-10-06 11 views
33

हमारी सामान्य संकेत दिए गए हैं (जिसकी हम सामान्य रूप से उपयोग वाले), के पास संकेत दिए गए है और अब तक संकेत के बीच अंतर क्या है और वहाँ वर्तमान दिन C/C++ प्रणालियों में और दूर के पास संकेत के लिए एक व्यावहारिक उपयोग है? कोई भी व्यावहारिक परिदृश्य जो इन विशिष्ट पॉइंटर्स के उपयोग की आवश्यकता है और अन्य सी, सी ++ अर्थशास्त्र नहीं बहुत उपयोगी होगा।और दूर के पास संकेत

+0

@sbi वास्तव में, कभी नहीं देखा या उन पर इस्तेमाल किया मेरी पेशेवर अनुभव और बस यह सुनिश्चित करना कि मैं उनके बारे में नहीं जान रहा हूं :) –

+0

लेकिन वे 'सी' में हैं और 'सी ++' में नहीं हैं ... है ना ?? या कुछ याद आ रही है ?? – liaK

+1

@liaK: वे दोनों में नहीं हैं। वे दोनों में से कुछ फर्जी कार्यान्वयन में कर रहे हैं, और इस तरह के कार्यान्वयन nonconformant अगर वे '' near' far' कीवर्ड के रूप में (का उपयोग करें और जबकि वे अगर वे '__near' का उपयोग अधिक से अधिक अनुरूप किया जा सकता है और' __far' या '_Near' और' _Far ')। –

उत्तर

44

और दूर के पास कीवर्ड हिस्सों में बंटा हुआ स्मृति मॉडल कि इंटेल पहले था में अपने मूल है। निकट पॉइंटर्स केवल मूल रूप से लगभग 64 केबी आकार में मेमोरी के ब्लॉक तक पहुंच सकते हैं, जिसे सेगमेंट कहा जाता है जबकि दूर पॉइंटर्स उस सेगमेंट में सेगमेंट और ऑफसेट से उस सीमा के बाहर जा सकते हैं। निकट पॉइंटर्स दूर पॉइंटर्स की तुलना में बहुत तेज थे इसलिए इसलिए कुछ संदर्भों में इसका उपयोग करने के लिए भुगतान किया गया।

आजकल दूर संकेत के पास आभासी स्मृति और साथ किसी काम का नहीं है।

संपादित करें: क्षमा करें यदि मैं सही शब्दों का उपयोग नहीं कर रहा हूँ, लेकिन यह है कि कैसे मैं यह याद है जब मैं दिन में वापस इसके साथ काम कर रहा था :-)

+2

आजकल, "पास" संकेत अभी भी उपयोगी होते हैं - वास्तव में, कि सूचक की तरह है कि हम सिर्फ एक "सूचक" अब फोन है। अभी तक एक पॉइंटर बनाना संभव है, लेकिन यह लगभग 32- या 64-बिट ओएस में लगभग बेकार है। – cHao

+5

@cHao: वास्तव में, नहीं। सी और सी ++ में उन्हें __pointers कहा जाता है, और केवल पॉइंटर्स__। यह एक प्रोसेसर आर्किटेक्चर था जिसके लिए गैर-मानक एक्सटेंशन पेश करने के लिए इसके लिए बनाए गए कंपाइलर की आवश्यकता होती थी। – sbi

+6

@ एसबीआई: वे एक वास्तविक तथ्य होने के लिए काफी आम थे, आईएसओ और एएनएसआई शापित हो गए थे। धन्यवाद कि वे चले गए हैं, लेकिन जब वे चारों ओर थे, x86 दुनिया में हर उपयोगी सी और सी ++ कंपाइलर (पढ़ें: अस्तित्व में सबसे आम और सबसे महत्वपूर्ण आर्किटेक्चर में से एक) को उन्हें रखना था। कि वे आईएसओ/एएनएसआई मानकों में नहीं थे, उन्हें वास्तविक दुनिया में कम महत्वपूर्ण, या कम "मानक" नहीं बनाते हैं। – cHao

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