1. 程式人生 > >預處理指令

預處理指令

文件名 使用 ifdef 否則 ted 程序 itl endif err

預處理指令在編譯之前,由編譯器執行,預處理結果作為編譯器的輸入。主要功能:把其他文件包含到當前文件、定義符號常量和宏、程序代碼的條件編譯以及預處理指令的條件執行。預處理指令包括:#include, #define, #error, #if, #else, #elif, #endif, #ifdef, #ifndef, #undef, #line, #pragma1、#include指令作用:指示編譯器將該指令所指出的另一個源文件嵌入該指令所在的程序中。文件名使用尖括號:在指定目錄中尋找被包括的文件文件名使用雙引號:在被編譯的程序所在目錄中尋找被包括的文件
2、#define指令定義符號常量或宏,一般形式為:
  1. #define
    符號常量標識符 字符串
  2. #define 宏標識符 字符串
程序中的宏標識符在編譯前只是被完全的文本替代。
  1. #define PI 3.1415926
  2. #define CIRCLE_AREA1(x) (PI * (x) * (x))
  3. #define CIRCLE_AREA2(x) (PI * x * x)
調用area = CIRCLE_AREA1(c+2), 預處理後為 area = (3.1415926 * (c+2) * (c+2))調用area = CIRCLE_AREA2(c+2), 預處理後為 area = (3.1415926 * c+2* c+2)=(3.1415926 * c) + (2 * c) +2

3、#if, #else, #endif, #ifdef, #ifndef指令
  1. #if常量表達式
  2. 程序段1
  3. #else
  4. 程序段2
  5. #endif
若#if指令後的常數表達式為true,編譯程序段1;否則,編譯程序段2#ifdef, #ifndef指令分別相當於#if define和#if!define

null

預處理指令