Erlang 21

erl_malloc




erlang

erl_malloc

C लाइब्रेरी

erl_malloc

लाइब्रेरी सारांश

स्मृति आवंटन कार्य।

विवरण

यह मॉड्यूल मेमोरी को आवंटित करने और डील करने के लिए कार्य प्रदान करता है।

निर्यात

ETERM *erl_alloc_eterm(etype)

प्रकार

(ETERM) संरचना आवंटित करता है।

निम्नलिखित स्थिरांक में से एक के रूप में निर्दिष्ट करें:

  • ERL_INTEGER
  • ERL_U_INTEGER (अहस्ताक्षरित पूर्णांक)
  • ERL_ATOM
  • ERL_PID (Erlang प्रक्रिया पहचानकर्ता)
  • ERL_PORT
  • ERL_REF ( ERL_REF संदर्भ)
  • ERL_LIST
  • ERL_EMPTY_LIST
  • ERL_TUPLE
  • ERL_BINARY
  • ERL_FLOAT
  • ERL_VARIABLE
  • ERL_SMALL_BIG (bignum)
  • ERL_U_SMALL_BIG (bignum)

ERL_SMALL_BIG और ERL_U_SMALL_BIG Erlang bignums बनाने के लिए हैं, जिसमें किसी भी आकार के पूर्णांक हो सकते हैं। एरलैंग में एक पूर्णांक का आकार मशीन-निर्भर है, लेकिन किसी भी पूर्णांक> 2 ^ 28 को एक bignum की आवश्यकता होती है।

void erl_eterm_release(void)

फ्रीलास्ट को साफ़ करता है, जहाँ erl_free_term() और erl_free_compound() द्वारा रिलीज़ होने पर ब्लॉक लगाए जाते हैं।

void erl_eterm_statistics(allocated, freed)

प्रकार

आबंटन आबंटन आँकड़े।

allocated और freed किए गए को ETERM घटकों को आवंटित करने के लिए उपयोग किए गए फिक्स- ETERM बारे में जानकारी शामिल करने के लिए ETERM किया गया है।

  • वर्तमान में आवंटित किए गए ब्लॉक की संख्या ETERM ऑब्जेक्ट्स के लिए आवंटित की ETERM है।

  • freed erl_free_term() की लंबाई है, जहां ब्लॉक को erl_free_term() और erl_free_compound() द्वारा जारी किए जाने पर रखा जाता है।

void erl_free(ptr)

प्रकार

मानक free() फ़ंक्शन को कॉल करता है।

void erl_free_array(array, size)

प्रकार

Erlang शब्दों की एक सरणी देता है।

  • array ETERM * ऑब्जेक्ट्स की एक सरणी है।
  • size सरणी में शब्दों की संख्या है।

void erl_free_compound(t)

प्रकार

आम तौर पर यह प्रोग्रामर की जिम्मेदारी होती है कि वह प्रत्येक Erl_Interface शब्द को मुक्त करे जो किसी भी Erl_Interface फ़ंक्शंस से लौटाया गया है। हालांकि, वास्तव में नए एर्लांग शब्दों का निर्माण करने वाले कई कार्य अन्य मौजूदा शर्तों के साथ वस्तुओं को साझा करते हैं, प्रोग्रामर के लिए ऐसे सभी शब्दों को व्यक्तिगत रूप से मुक्त करने के लिए पॉइंटर्स बनाए रखना मुश्किल हो सकता है।

erl_free_compound() एक निश्चित एर्लैंग शब्द से जुड़े सभी सब्टरम्स को पुनरावर्ती रूप से मुक्त कर देता है, भले ही हम अभी भी सब्टरम्स के लिए पॉइंटर्स पकड़े हों।

एक उदाहरण के लिए, उपयोगकर्ता के गाइड में अनुभाग Building Terms and Patterns देखें।

void erl_free_term(t)

प्रकार

एक एर्लैंग शब्द।

void erl_malloc(size)

प्रकार

मानक malloc() फ़ंक्शन को कॉल करता है।