C/C++ 程序的编译预处理和条件编译指令详解

** C/C++ 程序的编译预处理和条件编译指令详解**

编译预处理

(1)#include 包含指令作用为 将一个源文件嵌入到当前源文件中该点处。
#include<文件名> : 按标准方式搜索,文件位于C++系统目录的include子目录下
#include"文件名" : 首先在当前目录中搜索,若没有,再按标准方式搜索。

(2)#define 宏定义指令
定义符号常量,很多情况下已被const定义语句取代。
定义带参数宏,已被内联函数取代。

(3)#undef 用来删除由#define定义的宏,使之不再起作用。

条件编译指令情况一

#if 常量表达式1

程序正文1                                                  //当“ 常量表达式1”非零时编译

#elif 常量表达式2

程序正文2                                                //当“ 常量表达式2”非零时编译

#else

程序正文3                                             //其他情况下编译

#endif

条件编译指令情况二:

如果“标识符”经#defined定义过,且未经undef删除,则编译程序段1;否则编译程序段2。

#ifdef 标识符

程序段1

#else

程序段2

#endif

条件编译指令情况三:

如果“标识符”未被定义过,则编译程序段1;否则编译程序段2。

#ifndef 标识符

程序段1

#else

程序段2

#endif

猜你喜欢

转载自blog.csdn.net/weixin_42325069/article/details/84061983
今日推荐