彙編一點知識

2022-03-06 09:34:21 字數 1600 閱讀 3839

bss段:

bss段(bsssegment)通常是指用來存放程式中未初始化的全域性變數的一塊記憶體區域。bss是英文blockstarted by symbol的簡稱。bss段屬於靜態記憶體分配。

data段:

資料段(datasegment)通常是指用來存放程式中已初始化的全域性變數的一塊記憶體區域。資料段屬於靜態記憶體分配。

text段:

**段(codesegment/textsegment)通常是指用來存放程式執行**的一塊記憶體區域。這部分區域的大小在程式執行前就已經確定,並且記憶體區域通常屬於唯讀,某些架構也允許**段為可寫,即允許修改程式。在**段中,也有可能包含一些唯讀的常數變數,例如字串常量等。

rodata

存放c中的字串和#define定義的常量

heap堆:

堆是用於存放程序執行中被動態分配的記憶體段,它的大小並不固定,可動態擴張或縮減。當程序呼叫malloc等函式分配記憶體時,新分配的記憶體就被動態新增到堆上(堆被擴張);當利用free等函式釋放記憶體時,被釋放的記憶體從堆中被剔除(堆被縮減)

stack棧:

是使用者存放程式臨時建立的區域性變數,也就是說我們函式括弧「{}」中定義的變數(但不包括static宣告的變數,static意味著在資料段中存放變數)。除此以外,在函式被呼叫時,其引數也會被壓入發起呼叫的程序棧中,並且待到呼叫結束後,函式的返回值也會被存放回棧中。由於棧的先進先出特點,所以棧特別方便用來儲存/恢復呼叫現場。從這個意義上講,我們可以把堆疊看成乙個寄存、交換臨時資料的記憶體區。

組合語言一點知識

1 我們寫的應用程式,編譯後是通過指令執行的 2.指令由運算元和操作碼組成,操作碼 執行什麼命令,如 mov,add 運算元 操作碼需要操作的資料物件,如常量100,變數var 3 堆疊暫存器 段暫存器 資料段暫存器,通過指令執行命令,指令位址 段基位址 指令指標暫存器中的位址 4 應用程式操作邏輯...

關於wampserver的一點知識

1.wamp windows apache mysql php,一組法國人開發的用來搭建動態 或者伺服器的開源軟體。安裝極為簡便。可選擇中文語言。在瀏覽器中輸入 http localhost 站點目錄預設是www。2.關於url重寫的配置問題 url重寫 配置步驟 1 開啟apache的httpd....

關於匯程式設計序和底層的一點知識

其實我們仔細研究計算機的作業系統,硬體,最後會發現兩個最重要的,cpu和記憶體,所有的東西都是從它們中來的,電腦硬體最重要的部分就是主機板了,主機板其實就是兩個部分,北橋和南橋,北橋是連線高速運轉的裝置和介面,它就在cpu旁邊,而南橋就是接低速運轉的裝置,外設,如圖,南北橋結構,最上面就是cpu,奔...