打印

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

[复制链接]
4015|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wx865220862|  楼主 | 2011-12-7 10:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
受不了了| | 2011-12-7 10:43 | 只看该作者
编程软件应该没那么聪明给你优化掉吧,会当盲肠给你留着的

使用特权

评论回复
板凳
ayb_ice| | 2011-12-7 10:50 | 只看该作者
没有编译器敢自作主张把不调用的程序删掉

使用特权

评论回复
地板
Ryanhsiung| | 2011-12-7 10:55 | 只看该作者
3# ayb_ice 怎么没有,看你用什么编译器,优化等级是多少

使用特权

评论回复
5
ayb_ice| | 2011-12-7 11:10 | 只看该作者
3# ayb_ice 怎么没有,看你用什么编译器,优化等级是多少
Ryanhsiung 发表于 2011-12-7 10:55

你举个例子
再怎么优化也不能把函数优化没有了

使用特权

评论回复
6
a362880| | 2011-12-7 12:39 | 只看该作者
用不上的子程序最好不要。。谁知道软件会不会给你屏蔽呢。。程序要严点好

使用特权

评论回复
7
wx865220862|  楼主 | 2011-12-8 16:19 | 只看该作者
我是最近在着手模块化编程这一块,就是说比如我的延时模块有很多函数,都放一个模块的,然后我一个程序的话只会用到模块中一部分,那其余的都占空间的啊?那为什么还有那么多人要模块化编程呢? 3# ayb_ice

使用特权

评论回复
8
ayb_ice| | 2011-12-8 16:29 | 只看该作者
没有人说模块化编程是为了节省空间

使用特权

评论回复
9
wx865220862|  楼主 | 2011-12-8 16:34 | 只看该作者
8# ayb_ice 嗯,模块化是为了程序的整合方便,那这样的话还是不用模块化的好了。

使用特权

评论回复
10
liang7143| | 2011-12-8 17:41 | 只看该作者
;P
keil是不会优化掉

使用特权

评论回复
11
lxyppc| | 2011-12-8 17:50 | 只看该作者
有的编译器会把从未调用过的函数优化掉

使用特权

评论回复
12
邵大书生| | 2011-12-10 14:58 | 只看该作者
一样占用的

使用特权

评论回复
13
泰山特曲123| | 2011-12-12 18:40 | 只看该作者
经实际测试,对于没有调用的函数,在Keil for ARM里,是占用代码空间的,但在IAR for ARM中,不会占用代码空间。

使用特权

评论回复
14
john_lee| | 2011-12-13 10:25 | 只看该作者
keil for ARM(MDK)也是可以的,要选中“One ELF Section per Function"。

使用特权

评论回复
15
john_lee| | 2011-12-13 10:31 | 只看该作者
这个功能(删除未用代码)应该属于现代编译器的基本功能了。

使用特权

评论回复
16
ml8866| | 2015-8-25 08:52 | 只看该作者
可有具体例证说明

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

11

帖子

1

粉丝