Машинаның жады картасында үйме қай жерде орналасқан?
Машинаның жады картасында үйме қай жерде орналасқан?

Бейне: Машинаның жады картасында үйме қай жерде орналасқан?

Бейне: Машинаның жады картасында үйме қай жерде орналасқан?
Бейне: Флэшкага коширу 2024, Мамыр
Anonim

Жоғары мекенжайларда орналасқан стек және төменгі мекенжайда үйме . Екі жады бөлу аймақтары пайдаланылмаған және бөлінбеген мекенжай кеңістігінің ортасына дейін өседі.

Сонымен қатар, үйме жадта қайда орналасқан?

Стек статикалық үшін қолданылады жады бөлу және Үйме динамикалық үшін жады бөлу, екеуі де компьютерде сақталады Жедел Жадтау Құрылғысы . бойынша бөлінген айнымалылар стек болып табылады тікелей сақталады жады және бұған қол жеткізу жады өте жылдам және оны бөлу бағдарлама құрастырылған кезде шешіледі.

Сонымен қатар, үйме жады дегеніміз не? А жад жинағы орналасқан жері жады қайда жады кездейсоқ қатынаста бөлінуі мүмкін. Қайдағы стектен айырмашылығы жады өте анықталған тәртіпте бөлінген және шығарылады, жеке деректер элементтері бойынша бөлінген үйме әдетте бір-бірінен асинхронды түрде шығарылады.

Сондай-ақ сұрақ туындайды, үйме жадта қай жерде орналасқан және ол қай бағытта өседі?

The Үйме динамикалық сегмент жады бөлу әдетте орын алады. Бұл аймақ әдетте BSS сегментінің соңында басталады және өседі жоғарыдан жоғарыға жады мекенжайлар. C тілінде ол өлшемін реттеу үшін brk және sbrk жүйелік шақыруларын пайдаланатын malloc / new, free / delete арқылы басқарылады.

Malloc жадты қайдан алады?

С тілінде динамикалық жады кейбір стандартты кітапхана функцияларын пайдаланып үймеден бөлінеді. Екі негізгі динамикалық жады функциялары болып табылады malloc () және тегін (). The malloc () функциясы сұраудың өлшемі болып табылатын жалғыз параметрді қабылдайды жады байттағы аумақ. Ол бөлінгенге көрсеткішті қайтарады жады.

Ұсынылған: