历史上的今天
今天是:2024年10月07日(星期一)
2018年10月07日 | KEILC51编译问题ERRORL104:MULTIPLEPUBLICDEFINITIONS重复定义
2018-10-07 来源:eefocus
今天小学妹程序有BUG,原因是因为两个c文件中用了同一个变量,但是声明有错误。
找到问题后,肯定是用extern进行全局变量声明,但是还是会报错。我记得以前这样用没问题的。
把变量放在头文件中声明,还是会报错。最后找到解决方法。
如果在头文件中定义,则编译的时候会出现重复定义的错误。如果只有头文件中声明就会出现没有定义有警告。
*** ERROR L104: MULTIPLE PUBLIC DEFINITIONS
SYMBOL: K
MODULE: 222.obj (222)
出现上述错误则是因为变量k重复定义,把你的头文件中的变量定义前加extern(只是变量声明不用初始化),再在某一个你要调用该变量的c文件的程序之前再定义(注意第一个调用的c文件要负责附带初始化该变量,其他调用的c文件就不需要初始化过程啦)
一句话总结:在头文件extern声明,在其中一个C中声明并初始化,另一个C中直接用就可以了。
史海拾趣
|
Broadcom发布支持Blu-ray和HD DVD解码器芯片 本帖最后由 jameswangsynnex 于 2015-3-3 19:57 编辑 无线USB硬盘 希捷在CES2006大展公开演示了基于UWB(UltraWideBand)技术的移动硬盘。它可以在3米距离内最大达到480Mbps的传输速率。 最强游戏PC现身 DELL发布了一款最新游戏用PC ...… 查看全部问答> |
|
本帖最后由 paulhyde 于 2014-9-15 09:26 编辑 在DDS设计中,要求实现VPP的幅度调整,看过一些资料是用产生波形的DA的输出接在ad0832的VREF端,我有几个问题不是很清楚: 1、这样的连接方法,是不是对DA的速度没有要求?就是说信号的频率高于DA的 ...… 查看全部问答> |
|
操作系统兼容的问题, Windows, Linux, Vxworks..... 如题,众所周知现在的操作系统比较有名的是Windows, Linux, Vxworks, 他们的共性有如下: 1)可以创建线程 2)可以动态加载库文件 3)支持线程间通讯互斥 当然都支持C,C++标准语法,如new等等. 本人不才,请问还有其它操作系统支持以上特性否,请举例 ...… 查看全部问答> |
|
初学wince,我使用platform builder定制了个系统(照着一篇文章的介绍一步一步做的),编译SDK的过程很顺利,问题是在装完编译得到的SDK后,进入EVC环境,一选则自定义的SDK,系统就会死机。请问这是什么原因?是我SDK编译的问题还是EVC环境设置问 ...… 查看全部问答> |
|
这些天的业余时间将围绕德州仪器(TI)的Cortex-A8 AM335x系列处理器进行学习,因为这款处理器的相关中文资料还很少,配套的开发板也是近期才推出的,在国内更是稀罕货,所以现在先从外文资料的翻译和学习先开始,翻译水平有限,也请 ...… 查看全部问答> |
|
目前,MOS工艺的绝缘栅场效应管由于其优越的性能在分立元件和集成电路方面都得到了广泛的应用。由其结构可以看出,目前的场效应管是在沟道的两端各扩散一个PN结,形成一种PN结背靠背连接的结构。 以P型衬底N沟道增强型场效应管为例,在电路中,源 ...… 查看全部问答> |




