c++程式的編譯過程可以分為預處理、編譯、彙編三部分。預處理部分的過程是掃瞄程式源**,對源**中的指令標註進行初步的轉換,產生新的源**提供給c++編譯器。
預處理時讀入源**之後,會檢查**裡包含的預處理指令,進行 包含其他原始檔、定義巨集、根據條件決定編譯時是否包含某些**的工作。下面是c/c++中預編譯的各種指令:
● #define 巨集定義
● #undef 未定義巨集
● #include 文字包含
● #ifdef 如果巨集被定義就進行編譯
● #ifndef 如果巨集未被定義就進行編譯
● #endif 結束編譯塊的控制
● #if 表示式非零就對**進行編譯
● #else 作為其他預處理的剩餘選項進行編譯
● #elif 這是一種#else和#if的組合選項
● #line 改變當前的行數和檔名稱
● #error 輸出乙個錯誤資訊
● #pragma 為編譯程式提供非常規的控制流資訊
C 預編譯指令
下面對c 中的預編譯指令進行介紹 1.define和 undef 用法 define debug undef debug define告訴編譯器,我定義了乙個debug的乙個符號,他類似乙個變數,但是它沒有具體的值,可以將它看為乙個符號而已。undef就是刪除這個符號的定義。如果符號debug沒定義...
c 的預編譯指令
c 預處理器指令是在編譯時呼叫的。預處理器指令 preprocessor directive 告訴c 編譯器要編譯哪些 並指出如何處理特定的錯誤和警告。c 預處理器指令還可以告訴c 編輯器有關 組織的資訊。1.定義符號和取消符號定義的預處理指令 define 和 undef 預處理指令都以 號開頭並...
C 基礎13 預編譯指令
ps 注釋和講解全在 中 預編譯指令也叫預處理指令,在程式正式編譯之前執行 這些指令不會轉化為可執行 中的命令,但是會影響編譯過程的各個方面 具體例子如 using system using system.collections.generic using system.linq using sys...