LINUX學習筆記22 交叉工具鏈

2021-12-30 12:23:37 字數 1161 閱讀 5637

交叉工具鏈

1.         交叉編譯:嵌入式系統開發採用交叉開發模式,是a機器上編譯生成,執行在b機器上。兩個機子有不同的機器指令。

2.         工具鏈:可能指編譯、彙編、鏈結等一整套工具。

3.         作用:編譯的程式才能在目標機上執行,用gcc編譯的程式無法在目標機上執行。

4.         安裝

a)         解壓工具鏈到跟目錄下tar xvzf arm-linux-gcc-4.3.2.tar.gz –c /

i.              -c表示解壓到某個目錄下

b)         修改/etc/profile ,新增pathmunge /opt/friendlyarm/toolschain/4.5.1/bin

i.              根據具體的解壓路徑修改上面的位址

ii.              否則每次使用時都得加上路徑

c)         執行source /etc/profile  使生效

5.         交叉工具鏈中幾個主要的命令:

a)         工具都存放在/opt/friendlyarm/toolschain/4.5.1/bin目錄中

b)         編譯器:arm-linux-gcc 例:arm-linux-gcc hello.c –o hello

c)         反彙編工具:需要有編譯好的**

i.              作用:用來觀察組合語言的**

ii.              arm-linux-objdump 例arm-linux-objdump –d –s hello

iii.              以上情況會直接輸出彙編**,若在末尾加hello.log表示輸出到這樣乙個檔案裡去

d)         elf檔案檢視工具:arm-linux-readelf

i.              elf檔案:arm-linux-gcc 編譯出來的檔案的格式

ii.              arm-linux-readelf –a hello  檢視elf的頭資訊,關注data大小端和machine目標機是否符合要求

iii.              arm-linux-readelf –d hello 檢視hello使用的動態庫shared library

LINUX學習筆記22 交叉工具鏈

交叉工具鏈 1.交叉編譯 嵌入式系統開發採用交叉開發模式,是a機器上編譯生成,執行在b機器上。兩個機子有不同的機器指令。3.作用 編譯的程式才能在目標機上執行,用gcc編譯的程式無法在目標機上執行。4.安裝 a 解壓工具鏈到跟目錄下tar xvzf arm linux gcc 4.3.2.tar.g...

C 學習筆記 22

在c 中,auto ptr是乙個類,它用來實現對動態分配物件的自動釋放。建構函式與析構函式 auto ptr在構造時獲取對某個物件的所有權 ownership 在析構時釋放該物件。我們可以這樣使用auto ptr來提高 安全性,類似下面的 int p new int 0 auto ptr ap p ...

Python學習筆記 22

物件導向三大特徵及作用 多型我自己簡單總結一句話 使用方法 或者其他 時,不用考慮物件型別,適用性強,比如常見的len 多型 狗 哈士奇,泰迪,金毛。乙個物件可以以不同的形態去呈現 classa def init self,name self.name name property defname s...