找回密码
 注册
关于网站域名变更的通知
查看: 249|回复: 2
打印 上一主题 下一主题

mdk5明明只定义了一遍int deng,为什么编译后会提示错误重复定义?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-11-18 11:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

main.c 赋值! ^+ F( W* \& G; d
deng=1;

inf.h定义2 k) w3 f2 |2 ]% d, j' I+ R" p
int deng;

inf.c判断
3 y1 L( h. l1 m  Y2 A7 {void iff(void){
- K) p9 I0 ~* {; x& ]4 n" Z# ^( N: H8 sif(deng==1){}
* p/ L; b% O7 f! W0 ^+ B+ s0 h( B; z) Z}

test.c调用iff

为什么只定义了一遍的deng,会出错误提示重复定义。

Error: L6200E: Symbol deng multiply defined (by inf.o and main.o)." `; Q3 J- v( I6 B8 [7 c
Error: L6200E: Symbol deng multiply defined (by test.o and main.o).

Not enough information to list image symbols.
5 ~# {* P# ]1 q/ [% uNot enough information to list the image map.
9 d  [1 O4 t. I" H2 p6 v求解

0 ^7 o" O% R0 S" l8 u

该用户从未签到

2#
发表于 2021-11-18 13:10 | 只看该作者
应该是因为你在inf.h中定义了全局变量,main.c和inf.c都包含了inf.h这个头文件

该用户从未签到

3#
发表于 2021-11-18 13:11 | 只看该作者
在编译时,因为每个c文件都会生成一个obj文件,你的main.o, 和inf.o都会包含deng这个全局变量的定义
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-9-11 06:15 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表