为什么用Keil编译的hex文件这么大

刚刚接触STM32的开发,发现用RVMDK编译生成的hex文件比用EWARM生成的大很多,同一个工程,前者生成的文件有31K,后者只有6K。原因在哪里?

IAR编译时,没有调用的函数是不会编译到hex文件中的,Keil是不是把没有调用的函数编译到hex文件中去了呢?真实情况就是这样。

作为这么一款优秀的开发工具,Keil不会这么白痴吧。

实际上是,Keil提供一个选项,由用户决定是否把没有调用的函数编译到目标文件中去。

设置方法如下:

Options ->  C/C++ -> Language/Code Generation  勾选 “One ELF Section per Function”

试试看吧。

感谢同事,呵呵。

分享到: 更多
版权申明:

本站保留所有原创文章的版权,本站地址:奔跑的博客[http://www.elecbench.com]

原创文章转载时请注明出处,并添加文章所在页面的链接:http://www.elecbench.com/%e4%b8%ba%e4%bb%80%e4%b9%88%e7%94%a8keil%e7%bc%96%e8%af%91%e7%9a%84hex%e6%96%87%e4%bb%b6%e8%bf%99%e4%b9%88%e5%a4%a7/

本站所有 2010年3月4日 以后发表、未标明为“转载”的文章均是本站原创。

发表评论


(设置自己的个性头像)

*

申请属于你的免费顶级域名