C語言學習之預處理

2021-06-06 07:54:13 字數 673 閱讀 4080

編譯乙個c程式需要經過預處理、編譯、彙編和鏈結幾個步驟,預處理是在編譯之前所做的工作,預處理其實就是對原始檔做一些編輯工作,為編譯做好準備。

1. 條件編譯

#if constant-expression

#endif

或者#if constant-expression

#elif constant-expression

#else

#endif

測試乙個符號是否被定義

#if defined(symbol)

#ifdef symbol

或#if !defined(symbol)

#ifndef symbol

2. 檔案包含

檔案包含使用include指令,它的本質是將包含的檔案插入到include處。

3. 巨集定義

define指令巨集定義乙個符號,undef取消乙個符號定義,例如:

#define tabsize 100

int table[tabsize];

4. 預定義符號

__line__

__file__

這兩個巨集對於除錯時很有用處,它的含義時輸出當前的行號和源檔名。

__date__

__time__

這兩個巨集常用於版本資訊中,分別代表編譯的日期和時間。

c語言學習筆記 預處理

編譯的幾個階段 我們平時使用的編譯器,其實準確來講應該叫編譯工具鏈,因為其中包括了不止一種編譯器,他們之間相互銜接,完成將程式轉化為二進位制 的功能 主要分為4個階段,預處理 c 彙編.s 編譯.o 鏈結 axf hex bin 四個過程 常用預處理指令 include if,end,define ...

c語言學習四 預處理指令

預處理指令 意義用法 include 檔案包含 include define 巨集定義 define pcchar char undef 撤銷定義過的巨集 undef pcchar if else elif endif 條件編譯,true就編譯 關心巨集定義,也關心巨集真假 if elif else...

C語言學習筆記 6編譯預處理

2016年1月21日10 08 37 韓 概述 1 檔案包含 2 巨集定義與取消巨集定義 3 條件編譯 4 assert斷言與靜態斷言 預處理命令兩種形式 include 檔名 include 檔名 檔名可以是包含檔案的路徑名,如 include 此時兩種形式沒有什麼區別 include d tes...