C++的内存管理是怎样的
生活随笔
收集整理的這篇文章主要介紹了
C++的内存管理是怎样的
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
虛擬內存分布
- 虛擬內存管理
- 代碼段:
- 數據段
- bss 段
- 堆區
- 映射區
- 棧:使用棧空間存儲函數的返回地址、參數、局部變量、返回值
虛擬內存管理
在 C++中,虛擬內存分為代碼段、數據段、BSS 段、堆區、文件映射區以及棧區六部分。
代碼段:
包括只讀存儲區和文本區,其中只讀存儲區存儲字符串常量,文本區存儲程序的機
器代碼。
數據段
存儲程序中已初始化的全局變量和靜態變量
bss 段
存儲未初始化的全局變量和靜態變量(局部+全局),以及所有被初始化為 0 的全
局變量和靜態變量。
堆區
調用 new/malloc 函數時在堆區動態分配內存,同時需要調用 delete/free 來手動釋
放申請的內存。
映射區
存儲動態鏈接庫以及調用 mmap 函數進行的文件映射
棧:使用棧空間存儲函數的返回地址、參數、局部變量、返回值
總結
以上是生活随笔為你收集整理的C++的内存管理是怎样的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++什么是内存泄漏
- 下一篇: s3c2440移植MQTT