keil c51编译器怎么有的文件出错时,双击错误提示没有定位到错误行,有的文件就可以,怎么回事

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了keil c51编译器怎么有的文件出错时,双击错误提示没有定位到错误行,有的文件就可以,怎么回事相关的知识,希望对你有一定的参考价值。

看到大家的回答了,尽管还是没搞清楚,还是谢谢了 我用的还是汇编语言 编辑的源文件

这是经常有的事情,而且警告也会有这种情况,不过错误的下方肯定有标志关键词,你按关键词找就可以 参考技术A 百度一下那些错误的翻译 参考技术B 你把错误提示粘出来。

KEIL编译出错和memorymodel选择

在输出设置里面target--->memorymodel选择如图所示

Build target 'Target 1'
compiling main.c...
linking...
*** ERROR L107: ADDRESS SPACE OVERFLOW
SPACE: DATA
SEGMENT: ?DT?MAIN
LENGTH: 0024H
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: RECEIVEDFLAG
SEGMENT: ?DT?MAIN
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: DISPBUF
SEGMENT: ?DT?MAIN
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: CHULI
SEGMENT: ?DT?MAIN
*** ERROR L105: PUBLIC REFERS TO IGNORED SEGMENT
SYMBOL: UCRECEIVEDINDEX
SEGMENT: ?DT?MAIN
Program Size: data=106.1 xdata=0 code=4870
Target not created

CPU是STC89C52,编译出错怎么解决。

还有我应该写好程序后应该怎么样处理memorymodel这个选项卡
因为我在small模式下面编译成功了以后,我在里面加了一些程序,
空间不够了提示,我就把它改为了PDATA,然后编译通过,但是
程序就出错了,一直在主函数的while(flag)里面循环,即使我没有
给flag设置成1,他照样能进去,而且还循环了。卡在在里面了

我不明白我应该怎么样解决这个问题,请教

改成XDATA 外部存储区

ERROR L107: ADDRESS SPACE OVERFLOW
是地址空间溢出
PDATA也没多少 因为特殊功能半区里很多是不能占用的

没必要的不要设置成静态变量追问

改成XDATA是能编译通过,不过我听别人说一般这个都是默认的么,改这个对CPU有没有要求啊,

追答

外部存储区 AT的片子得加存储片子
STC的直接做到芯片里了 看你买的什么芯片

参考技术A
KEIL 没破解有2K限制,你程序超过2048了,看是不是这个原因.追问

你是指code=4870吧?这个没有问题

以上是关于keil c51编译器怎么有的文件出错时,双击错误提示没有定位到错误行,有的文件就可以,怎么回事的主要内容,如果未能解决你的问题,请参考以下文章

keil c51为啥按f12时不能跟踪函数

在keil环境中遍了一段C51的程序后怎么编译?

keil C51中函数调用无法正确返回怎么回事

keil for c51 keil for arm 怎么才能同时使用

keil c51安装完之后怎么用

Keil C51 编译错误 undefined identifier