C 的預處理器不是編譯器的組成部分,它是編譯過程中一個單獨的步驟,它們會指示編譯器在實際編譯之前完成所需的預處理。
GCC編譯C語言程序的全過程
C 語言的預處理指令是以 # 号開頭的代碼行,# 後是指令關鍵字,整行語句構成了一條預處理指令,該指令将在編譯器進行編譯之前對源代碼做某些轉換。
下面是一些常見預處理命令的使用介紹。
#include 包含一個源代碼文件
#include <stdio.h>
即從系統庫中獲取 stdio.h,并添加文本到當前的源文件中。
#define 定義宏
#undef 取消已定義的宏
#define MAX_NUM 99
#undef MAX_NUM
先定義宏 MAX_NUM,再取消該宏的定義。
#if 如果給定條件為真,則編譯下面代碼
#elif 如果前面的#if給定條件不為真,當前條件為真,則編譯下面代碼
#else 否則 (與#if對應)
#endif 結束對應的#if件編譯塊
這幾條指令适用于條件編譯,包括下面兩個。
#ifdef 如果宏已經定義,則編譯下面代碼
#ifndef 如果宏沒有定義,則編譯下面代碼
#ifdef DEBUG
/* Your debugging message */
#endif
如果定義了 DEBUG,則執行下面的處理語句。
#error 停止編譯并顯示錯誤信息
如果預處理方面有錯誤,那麼就會打印#error指令後面的文本内容。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!