用keil vision2编译c语言写的程序并生成hex文件,但没有报告code的大小,这是怎回事?

以前是有的
2025-02-17 11:08:31
推荐回答(4个)
回答1:

这里有一点需要的是:
无论是HEX的大小,还是编译后CODE的大小,都不是烧入到MCU中代码的“真实”容量。
因为这里涉及到数据存放格式相关问题,具体我就不说了。
一般来说,烧入到MCU硬件中去的程序大小,会比你keil编译后的CODE的大小稍微小一些,但差距不会很大。
所以在一般使用中,可以把编译后CODE的大小来作为实际程序容量的一个参考,,,话再说回来,LZ一般不会去那样极限编程吧,LZ你编译后,CODE的大小是多少呢??

我的邮箱是:
ppt1845@163.com
有什么问题的话,可以邮件交流等。

回答2:

hex文件绝对不是,大约是5倍多。
听说bin 文件 的大小和实际的一样
不过code 的大小就是文件实际大小吧

lz的问题可能是在“设置”里吧,找一找有没有相关的编译选项

回答3:

keil vision2这个版本已经很老了,如果楼主用的还是山寨版。。。很可能出现很多离奇的错误,或者和教科书上的不一致。建议楼主是用最新的keil u4
https://www.keil.com/c51/demo/eval/c51.htm
填写好相关的信息,下载就是了
在新的版本里面,写好代码后按f7 Program Size: data=9.0 xdata=0 code=20 这个就是你要的 答案了我的源代码是

#include
void main()
{
P1=0xa5;
for(;;);
}

回答4:

你最好的办法是把程序下载到单片机中,只然就有下载多大文件的提示了。老是搞编程仿真,发现变量问题的。如果不知道怎么下载程序,可以查看一下串口方面和你的单片机的资料。