首页 > 试题广场 >

在C++的工程项目中,一般头文件里都会出现类似于下列的代码,

[问答题]

C++的工程项目中,一般头文件里都会出现类似于下列的代码,而且命名基于所在项目源代码树的全路径

#ifndef CAMB_INCLUDE_TEST_H_

#define CAMB_INCLUDE_TEST_H_

…   // code

#endif  // CAMB_INCLUDE_TEST_H_

简述#define #endif 和 #ifndef的作用
1)一般情况下,源程序中所有的行都参加编译。但是有时希望只对其中满足一定条件的内容进行编译,即“条件编译
2)条件编译命令最常见的形式为:
#ifndef 标识符
程序段1
#else
程序段2
 #endif 
它的作用是:当标识符已经被定义过(一般是用#define命令定义),则对程序段1进行编译,否则编译程序段2
3)在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量“重定义”错误。在头文件中使用#define 、#ifndef、#endif能避免头文件重定义
发表于 2019-06-22 16:44:16 回复(0)