【发布时间】:2010-09-19 23:11:23
【问题描述】:
我有一个头文件 x.h,它包含在多个 *.c 源文件中。 这个头文件定义了一些结构变量。
我在头文件的开头放置了多重包含预防保护:
#ifndef X_H
#define X_H
...
..
//header file declarations and definitons.
#endif//X_H
在构建时,我收到与多个定义相关的链接器错误。我理解这个问题。
-
不会像我一样在头文件的顶部设置多重包含防护,防止头文件 xh 的多重包含,从而避免 xh 中存在的变量的多重定义吗?
#pragmaonce 在这个特定的编译器上不起作用,那么解决方案是什么? 有人发布了this 对类似问题的回答。它似乎对我不起作用。这个解决方案是如何工作的?
【问题讨论】:
-
@Stephen:如果您已经在编辑问题标题,还请查看正文(可能还有标签,尽管不在此处)。这样可以避免重复编辑(和碰撞)。
-
@Paulo 错过了,不过一直在关注,谢谢提醒!
标签: c linker multiple-inclusions