一、gcc的編譯過程分為四個過程:
1.預處理(也稱預編譯,preprocessing),生成.i的檔案
2.編譯(compilation),將預處理後的檔案轉換成組合語言,生成.s檔案
3.彙編 (assembly),彙編變為目標**(機器**)生成.o的檔案
4.鏈結(linking),連線目標**,生成可執行程式
二、常用命令
1.預處理 -e
gcc -e test.c -o test.i 或 gcc -e test.c
輸出預編譯結果(如helloworld中將stdio .h內容插入到**中),-o 引數即輸出檔案
2.編譯 -s
gcc -s test.i -o test.s
預處理之後,可直接對生成的test.i檔案編譯,生成彙編**test.s
3.彙編 -c
gcc -c test.s -o test.o
對於上一步驟生成的彙編**檔案test.s,gas(gnu assembler)彙編器負責將其編譯為目標檔案test.o
4.鏈結 ()
gcc test.o -o test
將編譯輸出檔案test.o鏈結成最終可執行檔案test。
(選項-o
用法:gcc -o1 test.c -o test
作用:使用編譯優化級別1編譯程式。級別為1~3,
級別越大優化效果
越好,但編譯時間越長。)
三、多原始檔編譯
四、庫檔案連線
gcc編譯命令
命令 gcc main.cpp 命令 gcc main.cpp o demo 命令 gcc e main.cpp o main.i 作用 將main.cpp預處理輸出main.i檔案。命令 gcc s main.i 作用 將預處理輸出檔案main.i彙編成main.s檔案。命令 gcc c main...
GCC 編譯命令
gcc命令提供了非常多的命令選項,但並不是所有都要熟悉,初學時掌握幾個常用的就可以了,到後面再慢慢學習其它選項,免得因選項太多而打擊了學習的信心。一.常用編譯命令選項 假設源程式檔名為test.c。1.無選項編譯鏈結 用法 gcc test.c 作用 將test.c預處理 彙編 編譯並鏈結形成可執行...
GCC 編譯命令筆記
將 檔案編譯並鏈結為可執行檔案 gcc o hello hello.c i usr include 引用標頭檔案位置 2.編譯檔案 gcc c hello.c 3.需要鏈結庫 gcc o hello hello.c usr lib libm.a 絕對路徑 gcc o hello helloc lm ...