next up previous contents
Next: 預定義巨集 Up: C 預處理器 Previous: C 預處理器   Contents

概論

  1. C 預處理器 (Preprocessor) 不是編譯器的一部分。
  2. 預處理器以 (#) 開頭,接著非空白字元。
    預處理器 動作描述
    #define 取代一個預處理器巨集。
    #include 從其他檔案插入一個抬頭 .h 檔。
    #undef 取消定義一個預處理器巨集。
    #ifdef 回傳 true 如果巨集被定義。
    #ifndef 回傳 true 如果巨集沒被定義。
    #if if 測試。
    #else 相對於 if 測試。
    #elif if 測試的其他陳述。
    #endif 結束預處理器條件判斷。
    #error 輸出錯誤訊息於標準錯誤 stderr。
    #pragma compiler 如果看到此預處理器後面的定義是不認得的,就不會理會; 反之若 compiler 看得懂,就會去執行它。
  3. #define 範例:CPP 取代字為 MAX_ARRAY_LENGTH 為 20。
    #define MAX_ARRAY_LENGTH 20
    
  4. #include 範例:CPP 從系統函式庫讀取 stdio.h,從本地目錄讀取 myheader.h,將其內容加入。
    #include <stdio.h>
    #include "myheader.h"
    



2015-01-16