C++條件編譯(#define等)

1. 背景介紹

C語言中存在預處理器, 也就是編譯過程的第一步(稱爲預處理或者預編譯).
這個過程處理以 # 的指令, 並得到不包含 #.i 文件.
預處理的內容包含以下三個:

# 宏定義
#define  

# 文件包括
#include

# 條件編譯
#if
#ifdef
#ifndef
#if defined
#if !defined
#elif
#else
#endif
#undef

2. 條件編譯

常見的條件編譯三種形式:

  • 第一種形式:
#if defined(或者是ifdef)<標識符(條件)> # ifdef只能判斷一個, defined() 則可以連起來判斷多個
<程序段1>
[#else
<程序段2>]
#endif
  • 第二種形式:
#if !defined(或者是ifndef)<標識符(條件)>
<程序段1>
[#else
<程序段2>]
#endif
  • 第三種方式:
#ifdef
[#elif … ]
[#elif …]
#else
#endif

參考資料

條件編譯#ifdef的妙用詳解_徹

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章