网站地图
1226.net
给你新词新语最详细的解释
#if 发布于:

#if和#endif是一组同时使用的,叫做条件编译指令。#if与#define、#include等指令一样是由预处理器这个强大的工具处理的,预处理器可以在编译前处理c程序。

使用条件编译指令,如果满足#if后面的条件,就编译#if和#endif之间的程序段,否则不编译。

例如:

#define LEN_MAX 3

#define LenMax 6

#if LEN_MAX <LenMax

#undef LEN_MAX

#define LEN_MAX LenMax

#endif

定义了LEN_MAX 和LenMax,如果LEN_MAX <LenMax成立为真,则取消LEN_MAX的定义,重新定义LEN_MAX,也就是说LEN_MAX等于6。这时预处理器会保留中间程序(#if与#endif行会消失),让编译器编译中间行。

如果LEN_MAX <LenMax不成立,预处理器会将删除#if到#endif中的程序(包括#if与#endif行),则编译器会看不到中间的程序。

这样的处理不会在目标代码中占用空间,减少程序运行时间。它可以用于程序调试使用。


相关文章推荐:
条件编译 | 条件编译 | 条件编译 |