单片机程序占用空间的问题

[复制链接]
 楼主| wx865220862 发表于 2011-12-7 10:20 | 显示全部楼层 |阅读模式
在单片机软件编程时,我写了5个延时子程序,但是在主程序中我只调用了2个延时子程序。请问没有被调用的那三个子程序占用ROM存储空间吗?
受不了了 发表于 2011-12-7 10:43 | 显示全部楼层
编程软件应该没那么聪明给你优化掉吧,会当盲肠给你留着的
ayb_ice 发表于 2011-12-7 10:50 | 显示全部楼层
没有编译器敢自作主张把不调用的程序删掉
Ryanhsiung 发表于 2011-12-7 10:55 | 显示全部楼层
3# ayb_ice 怎么没有,看你用什么编译器,优化等级是多少
ayb_ice 发表于 2011-12-7 11:10 | 显示全部楼层
3# ayb_ice 怎么没有,看你用什么编译器,优化等级是多少
Ryanhsiung 发表于 2011-12-7 10:55

你举个例子
再怎么优化也不能把函数优化没有了
a362880 发表于 2011-12-7 12:39 | 显示全部楼层
用不上的子程序最好不要。。谁知道软件会不会给你屏蔽呢。。程序要严点好
 楼主| wx865220862 发表于 2011-12-8 16:19 | 显示全部楼层
我是最近在着手模块化编程这一块,就是说比如我的延时模块有很多函数,都放一个模块的,然后我一个程序的话只会用到模块中一部分,那其余的都占空间的啊?那为什么还有那么多人要模块化编程呢? 3# ayb_ice
ayb_ice 发表于 2011-12-8 16:29 | 显示全部楼层
没有人说模块化编程是为了节省空间
 楼主| wx865220862 发表于 2011-12-8 16:34 | 显示全部楼层
8# ayb_ice 嗯,模块化是为了程序的整合方便,那这样的话还是不用模块化的好了。
liang7143 发表于 2011-12-8 17:41 | 显示全部楼层
;P
keil是不会优化掉
lxyppc 发表于 2011-12-8 17:50 | 显示全部楼层
有的编译器会把从未调用过的函数优化掉
邵大书生 发表于 2011-12-10 14:58 | 显示全部楼层
一样占用的
泰山特曲123 发表于 2011-12-12 18:40 | 显示全部楼层
经实际测试,对于没有调用的函数,在Keil for ARM里,是占用代码空间的,但在IAR for ARM中,不会占用代码空间。
john_lee 发表于 2011-12-13 10:25 | 显示全部楼层
keil for ARM(MDK)也是可以的,要选中“One ELF Section per Function"。
john_lee 发表于 2011-12-13 10:31 | 显示全部楼层
这个功能(删除未用代码)应该属于现代编译器的基本功能了。
ml8866 发表于 2015-8-25 08:52 | 显示全部楼层
可有具体例证说明
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

11

帖子

1

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

0

主题

11

帖子

1

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