KEILC51编译问题ERROR L104: MULTIPLE PUBLIC DEFINITIONS重复定义

来源:互联网 发布:汕头网络 编辑:程序博客网 时间:2024/06/05 10:52
c/c++语言中有很多地方要用到extern,但是如果没有真正的了解它的意义,会给编程带来很大的麻烦,为了使大家少走弯路,特祥细的说明一下。 
      对于比较小的程序,一般只有一个c文件和一个头文件,全局变量我们通常会直接定义在c文件中,在程序之前加int i定义。如果要在头文件中定义有以下两种方法:用extern来声明:extern int i;这一句只是对变量i进行声明,在c文件的程序之前必须加上int i进行定义。extern int i=0;这一句声明和定义都做了。 
    对于大一点的程序,有很多c文件和头文件,这个时候全局变量就必须在头文件中声明(不需要初始化),然后在一个c文件中定义(该初始化的要初始化)。如果在头文件中定义,则编译的时候会出现重复定义的错误。如果只有头文件中声明就会出现没有定义有警告。 
   *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS 
       SYMBOL: K 
       MODULE: 222.obj (222) 
出现上述错误则是因为变量k重复定义,把你的头文件中的变量定义前加extern(只是变量声明不用初始化),再在某一个你要调用该变量的c文件的程序之前再定义(注意第一个调用的c文件要负责附带初始化该变量,其他调用的c文件就不需要初始化过程啦)
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小汽车简笔画图片 画汽车图片 小汽车怎么画简单图片 公共汽车怎么画 怎么画汽车简笔画图片 儿童简单汽车画 各种汽车的简笔画图片 小汽车怎么画好看 画个汽车 汽车铅笔画 树叶汽车贴画 汽车装饰画 画汽车儿童画 铅笔画汽车 汽车简笔画图片幼儿 幼儿画汽车简笔画 汽车原画 小汽车卡通画 小汽车图画简笔画图片 小汽车的简笔画画法 未来的汽车科幻画 儿童汽车简笔画图片 画小汽车的简单画 汽车线条画 汽车素描画 玩具汽车怎么画 幼儿园画汽车简单画法 小汽车的简笔画怎么画 画小汽车的图片 小汽车怎么画简笔画 儿童汽车贴画 卡通汽车画 汽车的简笔画怎么画 画小汽车的简单画法 汽车装饰贴画 素描画汽车 汽车的简笔画图片 简笔画小汽车怎么画 儿童画小汽车的简单画 汽车的画 儿童图画简易画小汽车