Սովորաբար, malloc-ը հատկացնում է հիշողություն կույտ-ից և հարմարեցնում է կույտի չափը, ըստ անհրաժեշտության՝ օգտագործելով sbrk(2): MMAP_THRESHOLD բայթից ավելի հիշողության բլոկներ հատկացնելիս, glibc malloc-ի ներդրումը հատկացնում է հիշողությունը որպես մասնավոր անանուն քարտեզագրում, օգտագործելով mmap(2)::
Որտե՞ղ է հատկացված malloc հիշողությունը:
C-ում գրադարանային malloc ֆունկցիան օգտագործվում է կույտ-ի վրա հիշողության բլոկ հատկացնելու համար: Երբ հիշողությունն այլևս անհրաժեշտ չէ, ցուցիչը փոխանցվում է ազատ, որը տեղաբաշխում է հիշողությունը, որպեսզի այն օգտագործվի այլ նպատակներով:
Հիշողության ո՞ր մասում են malloc-ը և calloc-ը տեղաբաշխում հիշողությունը:
Malloc և calloc անվանումները գրադարանային գործառույթներ են, որոնք դինամիկ կերպով տեղաբաշխում են հիշողությունը: Դա նշանակում է, որ հիշողությունը հատկացվում է գործարկման ժամանակ (ծրագրի կատարման) կույտ հատվածից:
Որտե՞ղ է հատկացված հիշողությունը:
Կույտ: Heap-ը համակարգչային հիշողության այն մասն է, որը հատկացված է գործող հավելվածին, որտեղ հիշողությունը կարող է հատկացվել փոփոխականների, դասի օրինակների և այլնի համար: Ծրագրի կույտից ՕՀ-ն հիշողություն է հատկացնում դինամիկ օգտագործման համար:
Որտե՞ղ է պահվում ստատիկորեն հատկացված հիշողությունը:
Երբ ծրագիրը (գործարկվող կամ գրադարան) բեռնվում է հիշողության մեջ, ստատիկ փոփոխականները պահվում են ծրագրի հասցեի տարածության տվյալների հատվածում (եթե սկզբնավորվել է) կամ BSS հատվածում: (եթե ոչ նախնական) և պահվում են օբյեկտի ֆայլերի համապատասխան բաժիններում մինչև բեռնումը: