Logo hy.boatexistence.com

Որտե՞ղ է malloc-ը հատկացնում հիշողությունը:

Բովանդակություն:

Որտե՞ղ է malloc-ը հատկացնում հիշողությունը:
Որտե՞ղ է malloc-ը հատկացնում հիշողությունը:

Video: Որտե՞ղ է malloc-ը հատկացնում հիշողությունը:

Video: Որտե՞ղ է malloc-ը հատկացնում հիշողությունը:
Video: ՆՈՐ ԳՐՔԸ ԳՏՆԵԼ Է ԱՌԱՆՑ: ԱՌԱՋԻՆ ՍԿՍՆԱԿԻ ՌԻԴ – Վերջին օրը Երկրի վրա. գոյատևում 2024, Մայիս
Anonim

Սովորաբար, malloc-ը հատկացնում է հիշողություն կույտ-ից և հարմարեցնում է կույտի չափը, ըստ անհրաժեշտության՝ օգտագործելով sbrk(2): MMAP_THRESHOLD բայթից ավելի հիշողության բլոկներ հատկացնելիս, glibc malloc-ի ներդրումը հատկացնում է հիշողությունը որպես մասնավոր անանուն քարտեզագրում, օգտագործելով mmap(2)::

Որտե՞ղ է հատկացված malloc հիշողությունը:

C-ում գրադարանային malloc ֆունկցիան օգտագործվում է կույտ-ի վրա հիշողության բլոկ հատկացնելու համար: Երբ հիշողությունն այլևս անհրաժեշտ չէ, ցուցիչը փոխանցվում է ազատ, որը տեղաբաշխում է հիշողությունը, որպեսզի այն օգտագործվի այլ նպատակներով:

Հիշողության ո՞ր մասում են malloc-ը և calloc-ը տեղաբաշխում հիշողությունը:

Malloc և calloc անվանումները գրադարանային գործառույթներ են, որոնք դինամիկ կերպով տեղաբաշխում են հիշողությունը: Դա նշանակում է, որ հիշողությունը հատկացվում է գործարկման ժամանակ (ծրագրի կատարման) կույտ հատվածից:

Որտե՞ղ է հատկացված հիշողությունը:

Կույտ: Heap-ը համակարգչային հիշողության այն մասն է, որը հատկացված է գործող հավելվածին, որտեղ հիշողությունը կարող է հատկացվել փոփոխականների, դասի օրինակների և այլնի համար: Ծրագրի կույտից ՕՀ-ն հիշողություն է հատկացնում դինամիկ օգտագործման համար:

Որտե՞ղ է պահվում ստատիկորեն հատկացված հիշողությունը:

Երբ ծրագիրը (գործարկվող կամ գրադարան) բեռնվում է հիշողության մեջ, ստատիկ փոփոխականները պահվում են ծրագրի հասցեի տարածության տվյալների հատվածում (եթե սկզբնավորվել է) կամ BSS հատվածում: (եթե ոչ նախնական) և պահվում են օբյեկտի ֆայլերի համապատասխան բաժիններում մինչև բեռնումը:

Խորհուրդ ենք տալիս: