2012-06-09 17 views
11

पर malloc_size विकल्प void * सूचक को दिए गए ब्लॉक को आकार देने का क्या मतलब है (पहले लिनक्स और विंडोज़ में malloc का उपयोग करके आवंटित)? मुझे आशा है कि दोनों सिस्टम निश्चित रूप से इस तरह की जानकारी को कहीं भी स्टोर करेंगे। यही है, malloc_size का विकल्प जो ओएसएक्स/डार्विन पर मौजूद है। जीसीसी/मिंगव का उपयोग अगर यह मदद करता है।लिनक्स और विंडोज

+0

मुझे लगता है कि आकार struct के कुछ प्रकार के अन्य सामान सिर्फ सही से पहले सूचक दिया के साथ संग्रहीत किया जाता है मॉलोक द्वारा आप के लिए। यदि नहीं, तो यह ऐसी संरचना के लिए एक सूचक हो सकता है, क्योंकि 'मुक्त()' को ऐसे डेटा की आवश्यकता होगी। – nhahtdh

+0

@nhahtdh हाँ, मुझे भी उम्मीद है, लेकिन मुझे इसकी ज़रूरत है। – Cartesius00

+0

@ जेम्स, यदि मैं लिनक्स पर अपने कस्टम आवंटक के साथ अपना एप्लिकेशन लॉन्च करता हूं तो आप क्या करेंगे? 'LD_PRELOAD = my_super_allocator.so।/Your_app' की तरह? मेरा मतलब है कि अगर आपको लगता है कि 'शून्य *' के पीछे एक पूर्वनिर्धारित संरचना है। –

उत्तर

12

विंडोज, चीजें हैं जो का उपयोग एमएस सीआरटी _msize उपयोग कर सकते हैं पर, लिनक्स पर आप malloc_usable_size की कोशिश कर सकते ...

+0

यह भी देखें: http://blogs.msdn.com/b/oldnewthing/archive/2012/03/16/10283988.aspx – Anders

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