/ / हम ढेर - सी का उच्चतम और निम्नतम पता कैसे लगा सकते हैं

हम ढेर के उच्चतम और निम्नतम पते को कैसे प्राप्त कर सकते हैं - सी

क्या कोई सुझाव दे सकता है कि हम C का उपयोग करके ढेर का उच्चतम और निम्नतम पता कैसे लगा सकते हैं?

उत्तर:

जवाब के लिए 5 № 1

लिनक्स सिस्टम पर, आप 0 के साथ sbrk () का उपयोग कर सकते हैंएक छोर खोजने के लिए तर्क। आप अपने प्रोग्राम लोडर के सेगमेंट ऑर्डरिंग और एटेक्स्ट और एडटा की जांच करके - एंड (3) मैनपेज को समझकर दूसरे छोर को पा सकते हैं।

यह सब गैर-मानक है और सी के दायरे से बाहर है।


जवाब के लिए 2 № 2

आप अपने कॉल को लपेट सकते हैं malloc प्रत्येक कॉल पर अब तक देखे गए सबसे कम और उच्चतम पते पर नज़र रखने के लिए:

extern unsigned char *lowest, *highest;
unsigned char *tmp = malloc(size);
if (!tmp) return 0;
if (!lowest || tmp < lowest) lowest = tmp;
if (tmp+size > highest) highest = tmp;
return tmp;

उत्तर № 3 के लिए 1

इसका उत्तर यह है कि आप "सी में टी। यदि आप भाषा मानक की जांच करते हैं, तो आप" यह नोटिस करेंगे कि अवधारणा का कभी उल्लेख नहीं किया गया है।

हीप एक कार्यान्वयन विवरण है जो कुछ ऑपरेटिंग वातावरणों में उपयोग किया जाता है (ठीक लगभग सभी)।