ifndef/define/endif:简而言之就是避免头文件被重复引用。
如果一个项目中存在两个C文件,而这两个C文件都include(包含)了同一个头文件,当编译时,这两个C文件要一同编译成一个可运行文件,可能会产生大量的声明冲突,而解决办法是把头文件的内容都放在#ifndef和endif中,
一般格式如下:
#ifndef<标识>
#define<标识>
…
…
#endif
解释为:当标识没有由#define定义过时,则定义标识。
<标识>在理论史昂来说是可以自由命名的,但每个头文件的这个“标识”都应该是唯一的,
标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线。
ifndef/define/endif 机制用于防止头文件在C/C++项目中被重复包含,避免因多次引入导致的声明冲突。当标识未被#define定义时,会定义该标识,通常标识以头文件名全大写并用下划线替换'.'来命名,确保唯一性。此方法是保证编译正确性和项目整洁性的关键实践。
3544

被折叠的 条评论
为什么被折叠?



