2

好吧,我认为标题说明了一切,但网页抱怨消息正文丢失。

这里有关于代码空间优化的有价值的讨论,但我想知道哪种编译器(GCC、Keil、IAR、CLang 等)在这方面做得最好。到目前为止,我已经比较了四个(全部免费),Atmel Studio GCC、Yagarto、CodeSourcery Light 和 ARM GNU Embedded Tools(可在 launchpad.net 找到)。作为源,我使用了为无操作系统配置的 OpenSSL 1.0.1c 的一部分并进行了按摩。对于我使用的优化级别(-O1 和 -Os),没有太大差异,大约 10%(470k 到 520k,-O1)。我想知道是否有编译器可以击败(主要是 gcc)人群 25% 左右。

4

1 回答 1

1

Keil/ARM 编译器,市售的(不是免费的),在代码大小方面可能是最好的。不过,它可能不会比 GCC 领先 25%。

要获得真正好的代码大小,您需要查看积极摆脱未使用代码的选项,例如 gcc 中的 -ffunction-sections -fdata-sections --gc-sections 或 armcc 中的 --split-sections。

于 2013-04-24T16:04:09.953 回答