Malloc эстутумду кайда бөлөт?

Мазмуну:

Malloc эстутумду кайда бөлөт?
Malloc эстутумду кайда бөлөт?

Video: Malloc эстутумду кайда бөлөт?

Video: Malloc эстутумду кайда бөлөт?
Video: malloc() ашиглан динамик санах ойн хуваарилалт 2024, Ноябрь
Anonim

Адатта, malloc эстутумду үймөгүнөн бөлүп берет жана sbrk(2) аркылуу үймөктүн өлчөмүн талапка жараша тууралайт. MMAP_THRESHOLD байттан чоңураак эстутум блокторун бөлүштүрүүдө glibc malloc ишке ашыруу эстутуму mmap(2) аркылуу купуя анонимдүү карта катары бөлүштүрөт.

Malloc эстутуму кайда бөлүнгөн?

С тилинде, malloc китепкана функциясы үймөк эстутум блогун бөлүштүрүү үчүн колдонулат. Программа бул эс тутум блогуна malloc кайтарган көрсөткүч аркылуу жетет. Эстутум керек болбой калганда, көрсөткүч бошко өткөрүлөт, ал эстутумду башка максаттарда колдонуу үчүн бөлүштүрөт.

Malloc жана calloc эстутумдун кайсы бөлүгүнө бөлүштүрөт?

Malloc жана calloc аталышы эстутумду динамикалык түрдө бөлүүчү китепкана функциялары. Бул эстутум үймөк сегментинен аткаруу учурунда (программанын аткарылышы) бөлүнгөнүн билдирет.

Эститут кайда бөлүнгөн?

Дөбө. Үймөк - бул компьютер эстутумунун иштеп жаткан тиркемеге бөлүнгөн, эстутум өзгөрмөлөр, класс инстанциялары ж.б.у.с. үчүн бөлүнө турган бөлүгү. OS динамикалык колдонуу үчүн эстутумду программанын үймөгүнөн бөлөт.

Статикалык бөлүнгөн эс кайда сакталат?

Программа (аткалуучу же китепкана) эстутумга жүктөлгөндө, статикалык өзгөрмөлөр программанын дарек мейкиндигинин маалымат сегментинде (эгер башталса) же BSS сегментинде сакталат (эгер инициализацияланбаса) жана жүктөөдөн мурун объект файлдарынын тиешелүү бөлүмдөрүндө сакталат.

Сунушталууда: