分类: LINUX
2011-08-22 17:16:38
一般情况下,源程序中所有的行都参加编译,但是有时希望对其中的一部分内容只在满足条件下才进行编译,不满足条件就编译例外一组语句,也就是对一部分内容指定编译的条件,这就是条件编译。
#ifdef 标识符
程序段1
#else
程序段2
endif
它的作用是当所指定的标识符已经被#define命令定义过,则在程序编译阶段只编译程序段1。,否则编译程序段2,其中#else部分可以没有。
#ifndef 标识符
程序段1
#else
程序段2
#endif
将ifdef改成ifndef。它的作用是若标识符未被定义过则编译程序段1,否则编译程度段2,与上面的刚好相反。
#if 表达式
程序段1
#else
程序段2
#endif
它的作用是当指定的表达式为真(非零)时就编译程序段1,否则就编译程序段2.可以事先给一定的条件,使程序在不同的条件下执行不同的功能。