C/Cpp / 条件编译
生活随笔
收集整理的這篇文章主要介紹了
C/Cpp / 条件编译
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2018-01-07 創建人:Ruo_Xiao
一、#ifdef、#else和#endif
1、 實例:
#include "stdafx.h" #include <stdio.h> #define HHH#define Print_X(x,...) printf("x = "#x","__VA_ARGS__) int _tmain(int argc, _TCHAR* argv[]) {int x = 11;int y = x*x;#ifdef HHHPrint_X(x,"y = %d\n",y); #elsePrint_X(x); #endifgetchar();return 0; }2、 作用,若定義了HHH,則執行#ifdef下面的代碼,否則執行#else下面的代碼。效果與 if else 類似,但是前者不能識別“{}”,故#else和#endif不可缺少。
所以上面的代碼的執行結果為:
若將“#define HHH”注釋掉,則結果變為:
二、#ifndef
與ifdef用法一樣,唯一的差別是其意義相反。若定義了"HHH",則執行“#else”下面的代碼,否則執行“#ifndef”下面的代碼。
三、#if、#elif
1、與 if else 類似,判斷#if后面跟的整形常量表達式,若為真,則執行#if下面的代碼,若為假,則執行#elif后面的代碼。
2、例如:
執行結果為:
若改為“#define HHH 2”,則執行結果為:
總結
以上是生活随笔為你收集整理的C/Cpp / 条件编译的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C/Cpp / #include
- 下一篇: C typedef功能介绍(内附函数指针