为我所控 发表于 2019-12-5 11:20:16

求助编译器一直报B寄存器重复定义

本帖最后由 为我所控 于 2019-12-5 11:22 编辑

重复定义B寄存器,一直报错,把REG51.h里面的SFR B定义去掉以后,可以正常编译通过,请问这是什么问题。我程序里确实没有引用B寄存器啊。为什么会出现这个情况。
因为有多个.c.h文件,进行包含,我看网上有人说是变量或者寄存器重复定义了,但是我仔细检查过我自己的代码,发现确实只有引用reg51.h这个头文件啊,别的都没有定义寄存器

九月 发表于 2019-12-5 11:22:16

你是不是定义了一个叫B的变量?
要么就是你把这个库文件的0XF0地址的名字改为了B
再不行的话,重新建立个工程试试

为我所控 发表于 2019-12-5 12:21:55

九月 发表于 2019-12-5 11:22
你是不是定义了一个叫B的变量?
要么就是你把这个库文件的0XF0地址的名字改为了B
再不行的话,重新建立个工 ...

ok,问题解决了,是定义一个B的数组导致的,我替换了一个别的名字,现在可以了谢谢你,真是万分感谢。!

九月 发表于 2019-12-5 12:34:48

为我所控 发表于 2019-12-5 12:21
ok,问题解决了,是定义一个B的数组导致的,我替换了一个别的名字,现在可以了谢谢你,真是万分感谢。! ...

一般定义变量或者数组
不建议用这种简单的字母表示
一来看不懂具体是什么意思
二来不好维护
还是见名知义比较好

为我所控 发表于 2019-12-5 12:39:48

九月 发表于 2019-12-5 12:34
一般定义变量或者数组
不建议用这种简单的字母表示
一来看不懂具体是什么意思


嗯 是的,非常对。我是使用的别人的模块代码,才这样的,看来以后还是需要多多整理代码,变成自己理解的最重要!
页: [1]
查看完整版本: 求助编译器一直报B寄存器重复定义