【问题标题】:RAM memory optimization at compilation编译时的 RAM 内存优化
【发布时间】:2012-09-07 12:50:35
【问题描述】:

我正在开发一个使用 C 编程语言的项目,我正在尝试在编译时分析 RAM 内存(段分配)以获取特定功能的库文件。这将帮助我在编译级别本身静态优化我的数据大小。

我正在使用 Wind River(Diab 5.8) 编译器。这可以在飞思卡尔微控制器平台上运行。我正在 Windows 环境中开发此应用程序。请帮我找到这个。

【问题讨论】:

    标签: c ram


    【解决方案1】:

    如果您将-m 传递给链接器,则足以让它打印出段分配列表。这样您就可以看到特定(静态链接)库占用了多少代码段。

    【讨论】:

    • 你确定吗?至少对于 Diab 5.6,获取地图转储的选项是-m-M 导致“无效的选项格式:-M”。
    • 那就是 -m,对于大多数链接器来说,它是 -M(GNU LD 有很好的 --print-map),但我从来没有使用过 Diab。链接地图仍应向您显示您的需求。
    • 我刚刚查看了 Diab 5.8 的手册,确实是 -m,所以我修正了你的答案(并赞成)。
    【解决方案2】:

    好的,了解架构的区别:你试过this?

    【讨论】:

    • 我怀疑在这个当然不需要操作系统的微控制器上,编译器(嗯,链接器)确实将特定的 RAM 范围分配给特定用途。因此,例如,rwdata 段将位于静态链接器修复的某个选定地址。
    猜你喜欢
    • 1970-01-01
    • 2017-05-27
    • 2018-12-30
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多