美文网首页
无标题文章

无标题文章

作者: 秋灯锁忆 | 来源:发表于2017-09-22 15:03 被阅读0次

    条件编译

    1、#if, #elif, #else, #endif
    #if 条件 1
     代码段 1
    #elif 条件 2
     代码段 2
    ...
    #elif 条件 n
     代码段 n
    #else
     代码段 n+1
    #endif
    2、#ifdef, #else, #endif或#ifndef, #else, #endif
      条件编译的另一种方法是用#ifdef与#ifndef命令,它们分别表示“如果有定义”及“如果无定义”。有定义是指在编译此段代码时是否有某个宏通过 #define 指令定义的宏,#ifndef指令指找不到通过#define定义的某宏,该宏可以是在当前文件此条指令的关面定义的,也可以是在其它文件中,但在此指令之前包含到该文件中的。
    #ifdef的一般形式是:
    #ifdef macro_name
        代码段 1
    #else
        代码段 2
    #endif

    #ifdef的一般形式是:

    #ifndef macro_name
        代码段 2
    #else
        代码段 1
    #endif
    3、通过宏函数defined(macro_name)
      参数为宏名(无需加""),如果该macro_name定义过则返回真,否则返回假,用该函数则可以写比较复杂的条件编译指令如
     #if defined(macro1) || (!defined(macro2) && defined(macro3))
    ...
    #else
    ...
    #endif

    相关文章

      网友评论

          本文标题:无标题文章

          本文链接:https://www.haomeiwen.com/subject/rprfextx.html