指令
描述#define
定義巨集(macro)
#include
包含乙個源**檔案
#undef
取消已定義的巨集
#ifdef
如果巨集已經定義,則返回真
#ifndef
如果巨集沒有定義,則返回真
#if如果給定條件為真,則編譯下面**
#else
#if 的替代方案
#endif
結束乙個if..else條件編譯塊
#error
當遇到標準錯誤時,輸出錯誤訊息
#pragma
使用標準化方法,向編譯器發布特殊的命令到編譯器中
#define min_array_count 20;
這個指令告訴cpp把所有min_array_count替換為20;
#define ******_sum_method(x) \
((x) * (x))
如果巨集太長,乙個單行容納不下,則使用巨集延續運算子(\);
#include
#include "mybook.h"
這個指令告訴cpp從系統庫中獲取stdio.h,並新增到當前原始檔中;
在本地目錄查詢mybook.h檔案,並新增到當前原始檔中;
#undef min_array_count;
#define min_array_count 40;
#undef指令先取消已定義的巨集min_array_count,#define min_array_count 40 再次定義巨集min_array_count為40;
#ifndef min_array_count
#define min_array_count 20
#endif
這個指令告訴 cpp 只有當 min_array_count 未定義時,才定義 min_array_count。
#ifdef debug
#define min_array_count 40
#endif
這個指令告訴 cpp 如果定義了 debug,則執行處理語句。在編譯時,如果您向 gcc 編譯器傳遞了 -ddebug 開關量,這個指令就非常有用。它定義了 debug,您可以在編譯期間隨時開啟或關閉除錯。巨集描述
__date__
當前日期, 以 「mmm dd yyyy」 格式表示的字元常量
__time__
當前時間,以 「hh:mm:ss」 格式表示的字元常量
__file__
當前檔名,乙個字串常量
__line__
當前行號,乙個十進位制常量
__stdc__
編譯器以 ansi 標準編譯時,則定義為 1
#include
int main()
結果:(xcode執行結果)
file
:/users/wangyong/desktop/ccalculate/ccalculate/main.m
date
:apr
12017
time:22
:37:59
line
:159
ansi:1
program ended with exit code:
0
C語言 預處理器
如果想在下一行延續指令,則在當前行末尾使用 字元 帶引數的巨集 define max x,y x y x y define is even n n 2 0 則i max j k,m n if is even i i 將被替換為 i j k m n j k m n if i 2 0 i 巨集的替換列表...
C語言 預處理器
6 gcc編譯器檢視替換後的編碼 7 標頭檔案相互包含導致的重定義錯誤 指令 描述 define 定義巨集 include 包含乙個源 檔案 undef 取消已定義的巨集 ifdef 如果巨集已經定義,則返回真 ifndef 如果巨集沒有定義,則返回真 if如果給定條件為真,則編譯下面 else i...
C語言 預處理器
3 條件編譯 4 檔案包含include 5 其他指令 預處理階段會執行這些指令。file 進行編譯的源檔名 line 檔案當前的行號 date 檔案被編譯的日期 time 檔案被編譯的時間 define suqre x x x 如果乙個現存的名字需要重新定義,那麼舊的定義首先必須要用 undef ...