01專案介紹與搭建
阿新 • • 發佈:2022-03-18
1.Linux開發環境
2.GCC
2.1GCC工作流程
預處理:只執行 C 預編譯器。
巨集去掉了,註釋沒有了
彙編
編譯
連結
2.2GCC常用引數選擇
選項 | 解釋 |
---|---|
-ansi | 只支援 ANSI 標準的 C 語法。這一選項將禁止 GNU C 的某些特色, 例如 asm 或 typeof 關鍵詞。 |
-c | 只編譯並生成目標檔案。 |
-DMACRO | 以字串"1"定義 MACRO 巨集。 |
-DMACRO=DEFN | 以字串"DEFN"定義 MACRO 巨集。 |
-E | 只執行 C 預編譯器。 |
-g | 生成除錯資訊。GNU 偵錯程式可利用該資訊。 |
-IDIRECTORY | 指定額外的標頭檔案搜尋路徑DIRECTORY。 |
-LDIRECTORY | 指定額外的函式庫搜尋路徑DIRECTORY。 |
-lLIBRARY | 連線時搜尋指定的函式庫LIBRARY。 |
-m486 | 針對 486 進行程式碼優化。 |
-o FILE | 生成指定的輸出檔案。用在生成可執行檔案時。 |
-O0 | 不進行優化處理。 |
-O 或 -O1 | 優化生成程式碼。 |
-O2 | 進一步優化。 |
-O3 | 比 -O2 更進一步優化,包括 inline 函式。 |
-shared | 生成共享目標檔案。通常用在建立共享庫時。 |
-static | 禁止使用共享連線。 |
-UMACRO | 取消對 MACRO 巨集的定義。 |
-w | 不生成任何警告資訊。 |
-Wall | 生成所有警告資訊。 |
3.Makefile
3.1簡介
3.2Makefile檔案命名規則
3.3 基本原理
3.4 變數
3.5 模式匹配
3.6 函式
4.GDB