c语言 头文件中放函数实体 两个c文件同时引用会报错:找到一个或多个重定义的符号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言 头文件中放函数实体 两个c文件同时引用会报错:找到一个或多个重定义的符号相关的知识,希望对你有一定的参考价值。
c语言 头文件中放函数实体 两个c文件同时引用会报错:找到一个或多个重定义的符号
为什么会报这个错 在js中 我可以将一个方法打包在一个外部的js中 然后到处引用 这个不是这样??
你的两个c文件在一个工程中,同时引用你定义的那种,在编译时,两个c文件都会将这段代码(头文件中的)展开到你的c文件中,因此,会报重复定义追问
我知道解决 的办法 我只是想不通 我用在两个c文件中define引用,在编译的时候应该会将两个文件分别编译 怎么会冲突
追答你的两个c文件在一个工程中,就会在链接时有冲突!
如果不在同一个工程中,则不会有问题!
#ifndef XXX_H
#define XXX_H
头文件的结尾加入:
#endif
这里XXX可以是任意的,一般是用头文件的名称。追问
我知道解决 的办法 我只是想不通 我用在两个c文件中define引用,在编译的时候应该会将两个文件分别编译 怎么会冲突
追答C语言中不允许在一个工程中出现重复的函数名,变量名,文件名。
你把同一个头文件引用两次,就会导致工程中出现同名的函数。
C语言中这是不允许的。
以上是关于c语言 头文件中放函数实体 两个c文件同时引用会报错:找到一个或多个重定义的符号的主要内容,如果未能解决你的问题,请参考以下文章