/*
* gcc學習相關筆記
*
*/
gcc選項:
-c 隻生成目标檔案,但不連結
gcc -c main.c //預設生成main.o檔案
*o檔案可以再連結成可執行檔案
-s 隻生成彙程式設計式,不編譯成目标檔案
gcc -s main.c //将檔案編譯成彙程式設計式檔案,預設為*.s
-e 隻對檔案進行預處測,比如檔案包含、宏定義等進行編譯前處理
gcc -e main.c //将檔案編譯成宏處理後撤檔案
如有如下宏定義:
#define debug(str) printf("error--%d : " #str "\n",__line__)
在源檔案中有如下調用:
debug(hevake_lcj is here)
在宏處理後的檔案中會變成:
printf("error--%d : " "hevake_lcj is here" "\n",14);
-o 生成可執行檔案(預設)
gcc -o main main.o 由目标檔案生成
gcc -o main main.s 由彙編檔案生成
gcc -o main main.e 由宏處理後的檔案生成
gcc -o main main.c 由源檔案生成
指明生成的檔案名
gcc -s -o main.ss main.c //生成彙程式設計式檔案,檔案名為main.ss,否則預設為*.s
-g 在生成的彙編代碼中加入調試用的資訊
gcc -g -s -o main.s main.c
gcc -s -o main.s main.c //生成的資料間的差别
-i 指定頭檔案路徑
gcc -wall -i/usr/include/zw -o test test.c
-l 指定連接配接度的路徑
gcc -wall -l/usr/x11r6/lib -o test text.c-ix11