无标题文章

条件编译

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容