Rumah >pembangunan bahagian belakang >C++ >Susun atur memori program C

Susun atur memori program C

WBOY
WBOYke hadapan
2023-08-26 22:29:111274semak imbas

Susun atur memori program C ditunjukkan di bawah. Terdapat sangat sedikit peringkat. Ia adalah -

  • Segmen Tindanan
  • Segmen Timbunan
  • Segmen Teks
  • Segmen Data

Susun atur memori program C

Sekarang mari kita lihat apakah fungsi bahagian ini

Sr.No Bahagian dan Penerangan
1 Timbunan

Timbunan/fungsi proses pemulangan mengandungi data sementara. Ia adalah kawasan memori yang diperuntukkan kepada pembolehubah automatik dan parameter fungsi. Ia juga menyimpan alamat pemulangan apabila melaksanakan panggilan fungsi. Tindanan menggunakan mekanisme LIFO (terakhir masuk dahulu) untuk menyimpan pembolehubah setempat atau automatik, parameter fungsi dan untuk menyimpan alamat atau alamat pemulangan seterusnya. Alamat pemulangan merujuk kepada alamat yang dipulangkan oleh fungsi selepas selesai pelaksanaan. Saiz segmen ini berbeza-beza berdasarkan pembolehubah setempat, parameter fungsi dan panggilan fungsi. Segmen berkembang dari alamat yang lebih tinggi ke alamat yang lebih rendah.

2 Heap

Ini ialah memori yang diperuntukkan secara dinamik semasa proses sedang berjalan. Ini ialah kawasan memori yang diperuntukkan untuk storan memori dinamik (seperti panggilan malloc() dan calloc()). Saiz segmen juga berbeza-beza berdasarkan peruntukan pengguna. Segmen berkembang daripada alamat yang lebih rendah kepada alamat yang lebih tinggi.

Sekarang mari kita semak bagaimana saiz segmen (segmen data dan bss) berubah untuk beberapa contoh program. Saiz segmen boleh diperolehi dengan melaksanakan arahan "saiz".

3 Teks

Ini termasuk aktiviti semasa yang diwakili oleh nilai pembilang program dan kandungan daftar pemproses. Ia diwakili oleh bahagian .text. Ini mentakrifkan kawasan dalam memori di mana kod arahan disimpan. Ini juga kawasan tetap.

4 Data

Bahagian ini mengandungi pembolehubah global dan pembolehubah statik. Ia diwakili oleh .bahagian data dan .bss. Bahagian .data digunakan untuk mengisytiharkan kawasan memori di mana elemen data disimpan untuk atur cara. Setelah elemen data diisytiharkan, bahagian ini tidak boleh dikembangkan dan kekal statik sepanjang program. Bahagian

.bss juga merupakan bahagian memori statik, yang mengandungi penimbal data yang diisytiharkan kemudian dalam atur cara. Memori penimbal ini terisi sifar.

Segmen data boleh dibahagikan kepada dua bahagian lagi. Bahagian dan penerangan komposisi pembolehubah. Segmen data yang tidak dimulakan juga dipanggil segmen BSS (Blok Dimulakan oleh Simbol).

2 Un - Segmen Data Permulaan Ini ialah baca-tulis kerana nilai pembolehubah boleh ditukar semasa masa jalan. Segmen juga mempunyai saiz tetap.

Atas ialah kandungan terperinci Susun atur memori program C. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam