鏈結器指令碼

2021-07-04 19:05:22 字數 562 閱讀 4598

鏈結器指令碼構成:段、起始鏈結位址、對齊、變數、**段首檔案

乙個可執行程式通常由**段,資料段,bss段構成。

其中資料段存放的是初始化後的前期變數;bss段存放的是沒有初始化的前期變數

乙個鏈結器指令碼led.lds例子:

output_arch(arm)                /*指定輸出檔案的平台體系是arm*/  

entry(_start) /*指定可執行映像檔案的起始段的段名是_start*/

sections

. = align(4);

.data :

. = align(4);

bss_start = .; /*變數,表示將當前位址賦值給bss_start*/

.bss :

bss_end = .; /*變數,表示將當前位址賦值給bss_end*/

}

設定**段首檔案:規定了程式執行時首先執行的**

鏈結器指令碼

參考 程式設計師的自我修養 鏈結 裝載與庫 什麼是鏈結指令碼?鏈結指令碼就是程式鏈結時的參考檔案,其主要目的是描述如何把輸入檔案中的段 section 對映到輸出檔案中,並控制輸出檔案的儲存布局。鏈結指令碼的基本命令式sections命令,乙個sections命令內部包含乙個或多個段,段 secti...

1 1 4 鏈結器指令碼

1.程式由 段 sections 和堆疊 stack 組成,而段 sections 包括四個部分,分別為 段 text 資料段 data 以及bss段 bss 1.1 段 text 存放要執行的程式指令 1.2 資料段 data 存放已初始化的全域性變數 1.3 bss段 bss 存放未初始化的全域...

Linker script 鏈結器指令碼(1)

每個鏈結都由鏈結指令碼控制著,指令碼由鏈結器命令語言組成。指令碼的主要目的是描述如何把輸入檔案中的節 sections 對映到輸出檔案中,並控制輸出檔案的儲存布局。大多數的鏈結指令碼就是做這些事情的,但在有必要時,指令碼也可以指導鏈結器執行一些其他的操作。鏈結器總是使用鏈結器指令碼,如果你沒有提供乙...