#ifdef MACRO
    statement...
#else
    statement...
#endif
1.1、#ifdef MACRO的作用

检测MACRO是否已经被定义了。

1.2、#ifdef MACRO的语法

单分支:

#ifdef MACRO
    //some code
#endif

双分支:

#ifdef MACRO
    //some code
#else
    //some code
#endif
1.3、#ifdef MACRO的使用示例
#ifdef DEBUG
    printf("debug");
#endif
#ifdef DEBUG
    printf("debug");
#else
    printf("release");
#endif
1.4、#ifdef MACRO & #if defined (MACRO)

#ifdef MACRO#if defined (MACRO)等价。

#ifdef MACRO只能判断一个,而#if defined (MACRO1) && defined (MACRO2)却可以判断多个

#if defined (DEBUG)
    printf("debug");
#endif
#if defined (DEBUG)
    printf("debug");
#else
    printf("release");
#endif
#include <stdio.h>

#if defined (__GNUC__) && defined (__GNUC_MINOR__) && defined (__GNUC_PATCHLEVEL__)
#define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
#endif

int main() {
    /* Test for GCC > 3.2.0 */
    #if defined(GCC_VERSION) && GCC_VERSION > 30200
        printf("GCC_VERSION = %d\n", GCC_VERSION);
    #endif
    return 0;
}