C语言学习笔记之条件编译
-
编译器根据条件的真假决定是否编译相关的代码
-
常见的条件编译有两种方法:
-
一、根据宏是否定义,其语法如下:
#ifdef <macro> …… #else …… #endif
例子:
#include <stdio.h>//def _DEBUG_ //定义_DEBUG_ int main(int argc, const char *argv[]) { //#ifdnef _DEBUG_ //如果没有定义_DEBUG_,则输出hello world #ifdef _DEBUG_ //如果定义了_DEBUG_,则输出hello worldprintf("hello world\n"); #elseprintf("welcome\n"); #endifreturn 0; }
-
根据宏的值,其语法如下:
#if <macro> …… #else …… #endif
例子:
#include <stdio.h>def _DEBUG_ 1 //1为真,执行输出hello world //def _DEBUG_ 2 //0为假,执行输出welcome int main(int argc, const char *argv[]) { #if _DEBUG_ //#if 1 //直接加数字printf("hello world\n"); #elseprintf("welcome\n"); #endifreturn 0; }
-