Optimization 海湾合作委员会vs格林希尔

Optimization 海湾合作委员会vs格林希尔,optimization,gcc,embedded,memory-footprint,greenhills,Optimization,Gcc,Embedded,Memory Footprint,Greenhills,我对GCC和编译器之间的任何比较感兴趣,特别是在ARM平台上生成的代码的内存占用 这些编译器是否有任何基准测试或比较?有没有人在这里有任何他们想分享的经验?我没有看到任何基准测试,但根据我的经验,这两个编译器的代码大小和生成的代码非常相似 如果你想减少你的记忆足迹,Green Hills有很多文档和支持,有了GCC,一旦你的记忆偏离常规,它会很快变得孤独。Green Hills还支持压缩的可执行图像,如果您的闪存有限但内存充足,这将非常好 我还使用了自定义运行时和C库(这可以为您节省更多空间)使

我对GCC和编译器之间的任何比较感兴趣,特别是在ARM平台上生成的代码的内存占用


这些编译器是否有任何基准测试或比较?有没有人在这里有任何他们想分享的经验?

我没有看到任何基准测试,但根据我的经验,这两个编译器的代码大小和生成的代码非常相似

如果你想减少你的记忆足迹,Green Hills有很多文档和支持,有了GCC,一旦你的记忆偏离常规,它会很快变得孤独。Green Hills还支持压缩的可执行图像,如果您的闪存有限但内存充足,这将非常好


我还使用了自定义运行时和C库(这可以为您节省更多空间)使用这两种编译器,但您需要进行一些挖掘以获取GCC的信息,但是Green hills可以通过生成构建文件的向导获取一些信息。

您应该注意,Green hills EULA明确禁止许可证持有人发布基准测试

您可以做的是从Green Hills获得评估许可证,并执行您自己的基准测试。这在任何情况下都更值得信赖,更具代表性,因为您可以在实际的生产代码上测试它。而且在任何情况下,比如说ARM7的基准可能与Cortex-M3的基准非常不同,因此任何可用的公布结果都可能无法相互比较,也可能无法代表您的平台

还要注意的是,我从不同的GCC二进制发行版中体验到了差异很大的结果,即使表面上是从相同的代码基版本(特别是软件浮点性能)得到的结果也是如此。因此,您最好还是只相信自己的评估结果


你可以同时考虑KEIL和IAR,它们也有评估版本。你为什么只考虑这两个?人们通常在绿色的山上有很大的预算,并且可以从单一来源的RTOS集成和调试器功能中受益;你可以从使用编译器中得到任何好处。不太可能证明许可证成本是合理的。

我同意你的说法,但想补充一点,使用GCC进行自定义运行时也不难。我认为你在这两方面都做得很好。(但我更喜欢GCC,因为它有许可证。你可以根据需要在Linux上设置开发虚拟机或笔记本电脑。在需要聘请顾问时非常方便,启动时间很短。)Hear,Hear。有点可疑IMHO。是一个为嵌入式开发人员创建的编译器基准测试网站。你也可以用他们的工具对自己的编译器进行基准测试。