请问怎样计算一段C语言编写的程序所占程序存储器的大小?

[复制链接]
6198|15
 楼主| qcmc 发表于 2009-5-14 15:17 | 显示全部楼层 |阅读模式
zhaoyu2005 发表于 2009-5-14 15:27 | 显示全部楼层

直接计算不行的,变通下

这个好像不好计算,不像汇编,这个牵涉到:参数传递、优化、隐含操作等,编译完看下汇编代码,可以计算出来,汇编代码一般显示机器码和地址
John_Lee 发表于 2009-5-14 15:27 | 显示全部楼层

没法计算,写得多了,自然就有感觉了。

 楼主| qcmc 发表于 2009-5-14 15:34 | 显示全部楼层

OK,明白了,谢谢。。。

vrgood 发表于 2009-5-14 15:34 | 显示全部楼层

变量太多 无法确定

这个不好确定的,不同级别的编译优化、选择不同的编译模式,产生的代码大小也是不同的,
 楼主| qcmc 发表于 2009-5-14 15:40 | 显示全部楼层

那不是无法判断一段C程序是否超过了ROM的存储空间?

oumi 发表于 2009-5-14 15:42 | 显示全部楼层

re:

编译通过的话编译器会支持
耕在此行 发表于 2009-5-14 15:43 | 显示全部楼层

呵呵 看看编译结果便知道了

 楼主| qcmc 发表于 2009-5-14 15:50 | 显示全部楼层

哦。。。呵呵

 楼主| qcmc 发表于 2009-5-14 17:31 | 显示全部楼层

请问单片机执行一条C代码,执行时间是不是和汇编一样是定

 楼主| qcmc 发表于 2009-5-14 17:45 | 显示全部楼层

请问

请问单片机执行一条C代码,执行时间是不是和汇编一样是定的(指令周期)?
 楼主| qcmc 发表于 2009-5-14 20:17 | 显示全部楼层

请问各位大虾。。。

我再表述清楚一点。。
请问单片机执行一条C程序,时间怎么计算?
ODQQDO 发表于 2009-5-14 21:05 | 显示全部楼层

单片机执行一条C程序,时间是不确定的

  一条C程序先经过编译器成功编译后,汇编代码的长短不确定,所以机器码也不确定,时间就不确定了。
   
 楼主| qcmc 发表于 2009-5-14 21:09 | 显示全部楼层

关于时间

我看到有的书上用c写的延时程序,就想到了这个问题,那他写的延时并不是确定的,莫非误导读者。。。
smileagain 发表于 2009-5-14 23:59 | 显示全部楼层

c延时程序的延时时间可以在debug的时候看

对于同样的优化级别和编译方式,c延时程序的延时时间是固定的
chunk 发表于 2009-5-15 09:46 | 显示全部楼层

你让连接器给你出个MAP文件不行吗?

如题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

72

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部