我的部落格
注意:除非另有指定,本文件假定:
乙個完整的軟體工具鏈包括如下程式: 將源**轉化為二進位制機器碼;將單獨的彙編/編譯的**模組鏈結到一起;反彙編二進位制**;轉換格式。
以彙編原始碼檔案作為起始檔案,.s
檔案,經過彙編器彙編生成.o
目標檔案,目標檔案與鏈結檔案.ld
檔案進行鏈結,通過鏈結器生成可執行檔案,並進一步生成.bin
檔案以及可反彙編的.lst
檔案。
乙個典型的gnu
彙編工具鏈包括上面的過程,以及下面的程式:
如果你希望寫c/c++
檔案或混合彙編/c
**,編譯時,你需要編譯器。gnu compiler collection (gcc)
包含所有的工具。c/c++
編譯器 (gcc/g++) 以c/c++
作為原始碼,以及預彙編的目標感i奧檔案,以及預編譯的二進位制檔案,以這些輸入生成目標檔案,輸出可執行檔案。
在這個過程中會用到如下的程式:
unix
交叉編譯器的名命傳統可能會令人迷惑。如果你想要查詢乙個arm
編譯器,那麼你可能找到如下幾個工具鏈:arm-none-linux-gnueabi
,arm-none-eabi
,arm-eabi
,以及arm-softfloat-linux-gnu
。unix
交叉編譯器使用如下的名命方式:arch
,[-vendor]
,[-os]
,-abi
。其中:
下面的一些例子解釋:
開啟web
瀏覽器,訪問如下站點(==需要***==),盡情的探索吧:
Golang學習 常用命令工具鏈介紹
golang語言提供非常強大的工具鏈,包括編譯 測試 重構 文件 從github中pull第三方庫等 go build命令常用於將go檔案編譯成相應平台的可執行檔案 go build 主檔名,編譯成功後就會自動乙個可執行檔案 也可以使用自定義編譯的方式 goos windows goarch amd...
啥是工具鏈和GNU工具鏈
在軟體工程中,工具鏈 英語 toolchain 是一系列用於製作軟體的工具。這些工具一般乙個接乙個地運用,一件工具的輸出輸入至下一件工具,但廣義上可以單單是指多個相關的工具。工具鏈一般包括用來編輯源 的文字編輯器 生成可執行檔案的編譯器及鏈結器 連線作業系統的庫 以及偵錯程式。例子有gnu tool...
交叉工具鏈
理,但由於嵌入式軟體的執行平台不是本地,所以要做一些特殊處理,讓編譯環境信賴的類庫脫離本地信 賴,使用嵌入式平台的類庫來進行鏈結,處理這一過程就叫作交叉編譯工具鏈。機是執行嵌入式軟體的硬體平台。o 只啟用預處理,編譯,和彙編,也就是他只把程式做成obj檔案 wall 指定產生全部的警告資訊 o2 編...