标签:log 代码 pos www. 编译 div printf nbsp 常用
所谓“条件编译”,是对部分内容指定编译的条件,使其只在满足一定条件才进行编译。
多条件编译
#if defined(MACRO1) || defined(MACRO2) code #elif defined(MACRO3) code #endif
常用格式
#ifdef MACRO code #else code #endif
#ifndef MACRO code #else code #endif
#if 表达式 code #else code #endif
示例
#include <stdio.h> #include <string.h> #define BUF_LEN 256 int main() { char buf[BUF_LEN]; snprintf(buf, sizeof(buf), "%s", "default"); #if defined(POWER) || defined(PPP) //#if define POWER //#ifdef POWER snprintf(buf, sizeof(buf), "%s", "POWER||PPP"); #elif defined(PPPOE) snprintf(buf, sizeof(buf), "%s", "PPPOE"); #endif printf("power:%s\n", buf); return 0; }
执行结果:
yuxi@ubuntu:~/test/macro$ gcc -DPPP define.c yuxi@ubuntu:~/test/macro$ ./a.out power:POWER||PPP yuxi@ubuntu:~/test/macro$ gcc -DPPPOE define.c yuxi@ubuntu:~/test/macro$ ./a.out power:PPPOE yuxi@ubuntu:~/test/macro$ gcc define.c yuxi@ubuntu:~/test/macro$ ./a.out power:default
参考:
C/C++预处理指令#define,#ifdef,#ifndef,#endif…
标签:log 代码 pos www. 编译 div printf nbsp 常用
原文地址:http://www.cnblogs.com/embedded-linux/p/7668022.html