昨天下午将全局变量定义在H文件中导致链接时提示变量在多个obj文件内重复。
解决办法如下:
将变量移入C文件中进行定义,然后在H文件中加入extern在变量之前。
这样当其它C文件引用该全局变量时就会去链接这个变量符号而不是重新生成。
另附防止H文件被重复包含的处理方法:
#ifndef _H文件名_H_
#define _H文件名_H_
//H文件内容
#endif
本文介绍了解决全局变量在多个obj文件中重复的问题的方法:将变量定义从H文件移至C文件,并使用extern关键字声明。此外,还提供了一种防止H文件被重复包含的有效手段。
昨天下午将全局变量定义在H文件中导致链接时提示变量在多个obj文件内重复。
解决办法如下:
将变量移入C文件中进行定义,然后在H文件中加入extern在变量之前。
这样当其它C文件引用该全局变量时就会去链接这个变量符号而不是重新生成。
另附防止H文件被重复包含的处理方法:
#ifndef _H文件名_H_
#define _H文件名_H_
//H文件内容
#endif

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