gcc: GNU C compiler
將C原始碼編譯成可執行檔。
可用以下參數設定編譯程度:
-E: 只執行巨集展開,但不產生目的檔
-S: 要求gcc產生組合語言程式碼
-c: 編譯並組譯程式碼,但不做連結
可用以下參數指定輸出檔名
-o: 設定輸出檔名
as: 組譯器
運用-a參數可產生組譯報表,可觀察記憶體位置
ld: 連結器
ar: 函式庫製作
以-r參數產生函式庫時需以lib開頭
objdump:目標檔列印
將編譯完成的目的檔以組合語言的型式印出
make: 編譯工具
使用Makefile來告知make編譯哪些檔,格式如下:
{target}: [prerequisite1] [prerequisite2]
\t[command]
使用方法為:
make [target]
若無指定target,會遵守第一個規則,通常會叫做all。
GNU建議的phony target:
all: 內定的編譯動作
install: 安裝binary檔的動作
clean: 清除obj檔的動作
dist: 產生configure的動作
distclean: 清除configure所產生的動作