本質:翻譯官,把高階語言翻譯成機器指令
常用選項:
gcc -o 輸出檔名 輸入檔名
gcc -o build 01.c (字尾不能為其他)
gcc -v
-o build 01.c
gcc -l
-o 用來指定程式要鏈結的庫,-l引數緊接著就是庫名
gcc -l
-o-l引數跟著的是庫檔案所在的目錄名
gcc -e
-ogcc -s
-ogcc -c
-o
編譯過程
預處理gcc -e -o a.i 01.c生成a.i
常見錯誤
(1)預處理錯誤:找不到,未定義
解決方案:gcc -i ./dir -o build 01.c
(2)編譯錯誤:語法錯誤
(3)鏈結錯誤:原材料不夠(函式未實現)或者原材料多了(多次實現)
解決方案:尋找標籤是否實現或者只保留乙個實現
define 巨集替換不進行語法檢查
include
預定義巨集functionlinefile
條件編譯(開關) #ifdef #else #endif
提前定義乙個巨集:gcc -dabc 等價於#define abc
巨集展開下的#和##:
#define abc(a) #a 字串
#define day(a) myday##a 連線符號
C 預處理相關知識點總結
c提供的預處理命令有3種 1 巨集定義 2 檔案包含 3 條件編譯 預處理命令不是c語句,為了與一般的c語句相區別,這些命令都是以 開頭的。c原始檔經過預處理之後,不再含有任何預處理命令。單個.c原始檔轉換為可執行檔案需要經過4個步驟 1 預處理 2 編譯 3 彙編 4 鏈結 多個.c原始檔轉換為可...
預處理命令知識點
ansi c標準規定,可以在c源程式中加入一些 預處理命令 以改進程式設計環節,提高程式設計效率。這些預處理命令是由ansi c統一規定的,但是它不是c語言本身的組成部分,不能直接對它們進行編譯 因為編譯程式不能識別它們 必須在對程式進行通常的編譯之前 先對程式中這些特殊的命令進行 預處理 即根據預...
文字預處理等知識點打卡
一 文字預處理 1.讀入文字 re.sub pattern,repl,string,count 0,flags 0 pattern 表示正規表示式中的模式字串 repl 被替換的字串 既可以是字串,也可以是函式 string 要被處理的,要被替換的字串 count 匹配的次數,預設是全部替換 fla...