C 預處理命令

2021-06-07 02:46:56 字數 661 閱讀 6473

# 和 ## 操作符是和#define巨集使用的. 使用# 使在#後的首個引數返回為乙個帶引號的字串. 例如, 命令

#define to_string( s ) # s

將會使編譯器把以下命令

cout << to_string( hello world! ) << endl;

理解為

cout << "hello world!" << endl;

使用##鏈結##前後的內容. 例如, 命令

#define concatenate( x, y ) x ## y

...int xy = 10;

...

將會使編譯器把

cout << concatenate( x, y ) << endl;

解釋為

cout << xy << endl;

理所當然,將會在標準輸出處顯示'10'.

語法:

__line__

__file__

__date__

__time__

_cplusplus

__stdc__

下列引數在不同的編譯器可能會有所不同, 但是一般是可用的:

c 預處理和預處理命令

預處理發生在編譯之前,預處理輸出的是乙個單一的檔案,這個檔案被送到編譯器,進行編譯。每條預處理命令都控制預處理器的行為。每條預處理命令佔據一行,有以下的格式 character 預處理命令 one of define,undef,include,if,ifdef,ifndef,else,elif,e...

C 預處理命令

c 提供的預處理功能 巨集定義 檔案包含和條件編譯 分別由巨集定義命令 檔案包含命令和條件編譯命令三種預處理命令來實現。預處理命令 格 式 預處理命令 末尾不加分號 作用域 從定義點到程式結束 說 明 預處理命令獨佔一行,位置任意 巨集定義命令 格 式 define 巨集名 形參 巨集體 undef...

C 預處理命令

預處理就是對原始檔進行編譯前,先對預處理部分進行處理,然後對處理後的 進行編譯。c 提供了豐富的預處理指令,主要包括如下幾種 define error if else elif endif ifdef ifndef undef line和 pragma。每個預處理指令均帶有符號 簡單來說,上面的這些...