普通——#define 巨集名 字串
#define my_int int
#define max 10000
帶引數——#define 巨集名(形參) 字串
#define add(x,y) x+y
在大規模的開發過程中,特別是跨平台和系統的軟體裡,條件編譯很重要。
#include using namespace std;#ifndef cc
#define cc
#define add(x,y) x+y
#define n 3
#endif
int main( )
#undef cc// 是在後面取消以前定義的巨集定義
assert()是乙個除錯程式時經常使用的巨集,在程式執行時它計算括號內的表示式,如果表示式為false (0), 程式將報告錯誤,並終止執行。如果表示式不為0,則繼續執行後面的語句。
#include using namespace std;
int main(int argc, char *argv)
執行截圖:
pragma [p'ræɡmə] n. 編譯指示.
#pragma 編譯指示是機器或作業系統專有的,且對於每個編譯器都是不同的。
#pragma once
只要在標頭檔案的最開始加入這條指令就能夠保證標頭檔案被編譯一次.
#pragma comment
常用的有#pragma comment (lib,"***.lib") 指定包含的庫檔案。
#pragma pack(n)
結構體位元組對齊。
預處理指令
預處理指令是我們寫在程式 中的給預處理器 preprocessor 的 命令,而不是程式本身的語句。預處理器在我們編譯乙個c 程式時由編譯器自動執行,它負責控制對程式 的第一次驗證和消化。所有這些指令必須寫在單獨的一行中,它們不需要加結尾的分號 在這個教程的開頭我們已經提到了一種預處理指令 defi...
預處理指令
1.人們常常稱機器語言為目標 object code 2.預處理命令 preprocessor directives 三種預處理包括 巨集定義 檔案包含 條件編譯。在對源程式編譯之前,會對程式中的所有預處理指令進行處理。預處理就是在進行編譯的第一遍詞法掃瞄和語法分析之前所作的工作。說白了,就是對原始...
預處理指令
雖然同c和c 的術語 預處理指令 名稱一樣,但c 的其實並沒有單獨的預處理步驟,也就是說在vs等環境中並沒有預處理的編譯器。預處理指令能夠用於替換原始檔中的資訊。以 sharp 字元和預處理指令名稱開頭。例如 define max習慣於將預處理指令的名稱全部設為大寫。和c與c 不同的是,c 中的預處...