可執行程式有那些段

2021-06-29 02:31:18 字數 474 閱讀 5174

可執行程式包括bss段、

資料段、

**段(也稱文字段)。

bss(block started by symbol)通常是指用來存放程式中未初始化的

全域性變數

和靜態變數

的一塊記憶體區域。特點是:可讀寫的,在程式執行之前bss段會自動清0。所以,未初始的全域性變數在程式執行之前已經成0了。

注意和資料段的區別,bss存放的是未初始化的

全域性變數和

靜態變數,資料段存放的是初始化後的全域性變數和靜態變數。

資料段:存放已初始化的全域性變數和常量。

**段:存放可執行**的二進位制**。

堆段:由使用者申請,比如:p =(char  *) new malloc(10),**執行結束之後,由作業系統**,但是在裸跑的微控制器上這種操作是危險了,因為沒有記憶體管理機制,很容易導致記憶體溢位。

棧段:有計算機自動分配,存放函式的

引數值, 區域性變數等。

python 執行可執行程式

python do exe.pyw coding utf 8 import os exe dir c program files q dir exe file q dir.exe def do cmd dir,file if os.access dir,os.f ok os.chdir dir if...

Android可執行程式

最近應用了android kernel下高通的乙個security patch,各種方式出log,也沒有走到patch處。通過網上查詢,看到有人寫了個main函式,呼叫此patch所在的module。但是建立出執行檔案,push到某家手機的 system bin下,告訴是唯讀檔案系統,不能push進...

16 2 7 識別可執行程式

16.2.7 識別可執行程式 以下幾種方法可以用來識別可執行程式 識別可執行程式最快捷的方法之一就是檢視它的訪問許可權。如果某個檔案的可執行位 x 被置位,那麼它就是乙個可執行程式。但是,如果訪問許可權由於某種原因沒有被正 確設定,那麼這種方法就不適用了。如果認為某個程式可能是乙個可執行檔案,可以試...