亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

必看!詳解Linux進程與堆?臻g

添加時間:2010-12-1  添加: admin 
 一)概述

  .堆棧是一個用戶空間的內存區域,進程使用堆棧作為臨時存儲.

  .堆棧中存放的是函數中的局部變量,在函數的生命周期中可以將變量壓入堆棧,編譯器需要確保堆棧指針在函數退出前恢復到初始位置,也就是說,內存是自動分配和釋放的.

  .C/C++把存儲在堆棧中的局部變量當作automatic存儲,并使用auto關鍵字,這是局部變量的默認存儲方式,所以現在沒有人用auto關鍵詞.

  .與動態存儲相對映的靜態存儲,也就是用static定義的局部變量,它不用堆棧來存儲,而是使用數據段來存儲.

  .堆棧的基地址位于用戶空間的最高虛擬地址附近,并從那里向下延伸.

  .一個進程開始時,堆棧的最大值就不能改變,如果占用的空間超過了堆棧大小,那么就會導致堆棧溢出.

  二)進程的內存組織形式

  進程被分為三個區域:文本,數據和堆棧.

  1)文本區域:

  文本區域也叫做代碼段,是由程序確定的,它包括代碼(指令)和只讀數據,該區域通常被標記為只讀,任何對其寫入的操作會導致段錯誤.

  2)數據區域:

  數據區域也叫做數據段,它包括已初始化和未初始化的數據,靜態變量存儲在這個區域中,它的大小可以用系統調用brk(2)來改變.

  3)堆棧區域:

  堆棧區域也叫堆棧段,它用于給局部變量動態分配空間,同樣函數傳遞參數和函數返回值也要用到堆棧.

  堆棧也可向下增長(向內存低地址)也可以向上增長,這依賴于具體的實現,通常都是向下增長的,而SP(堆棧指針)也是指向堆棧的最后地址.

  4)內存的分配區域:

  根據前面所述,堆棧是位于最高虛擬地址附近,而數據段則位于堆棧段之后,最后是代碼段.

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站