求大神解释!keil编译,调用子函数越多,RAM占用越少

2019-07-15 18:30发布

如题!keil编译程序的时候,调用子函数越多,RAM占用越少!麻烦大家帮忙看看!源码有点长,而且可读性比较差,所以就不发出来了,几个子程序唯一的关系就是共用3个全局变量,都是用作for循环的,并没有影响,结果如下图: QQ截图20140918235541.png QQ截图20140918235643.png QQ截图20140918235719.png

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
ntmusic
2019-07-15 20:49
首先,你的表述有误,不是调用的子函数越多占用的RAM越少,而是“越少未调用的子函数,占用的RAM越少”。原因很简单,如果你定义了一个子函数但却没有被调用,那么在编译的时候就会被当做相当于中断函数而分配独立的RAM。但如果调用了,Keil会对其进行优化吗,通过整合资源达到减少RAM的目的。你可以把未调用的子函数注释掉再编译看看结果。

一周热门 更多>