c语言 头文件中放函数实体 两个c文件同时引用会报错:找到一个或多个重定义的符号

c语言头文件中放函数实体两个c文件同时引用会报错:找到一个或多个重定义的符号为什么会报这个错在js中我可以将一个方法打包在一个外部的js中然后到处引用这个不是这样??... c语言 头文件中放函数实体 两个c文件同时引用会报错:找到一个或多个重定义的符号

为什么会报这个错 在js中 我可以将一个方法打包在一个外部的js中 然后到处引用 这个不是这样??
展开
 我来答
kaixingui2012
2015-03-26 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:5688万
展开全部
C语言头文件中一般只进行函数声明,函数实现一般另写在文件中,这样引用头文件就不会报重复定义了。
你的两个c文件在一个工程中,同时引用你定义的那种,在编译时,两个c文件都会将这段代码(头文件中的)展开到你的c文件中,因此,会报重复定义
追问
我知道解决 的办法   我只是想不通  我用在两个c文件中define引用,在编译的时候应该会将两个文件分别编译  怎么会冲突
追答
你的两个c文件在一个工程中,就会在链接时有冲突!

如果不在同一个工程中,则不会有问题!
百度网友e8ce36093d
推荐于2017-10-13 · TA获得超过213个赞
知道小有建树答主
回答量:60
采纳率:0%
帮助的人:69万
展开全部
解决办法是,把你的头文件的开头加入:
#ifndef XXX_H
#define XXX_H
头文件的结尾加入:
#endif

这里XXX可以是任意的,一般是用头文件的名称。
追问
我知道解决 的办法   我只是想不通  我用在两个c文件中define引用,在编译的时候应该会将两个文件分别编译  怎么会冲突
追答
C语言中不允许在一个工程中出现重复的函数名,变量名,文件名。
你把同一个头文件引用两次,就会导致工程中出现同名的函数。
C语言中这是不允许的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式