【问题标题】:Regarding MMU and default linker file of gcc for statically linked programs关于静态链接程序的 MMU 和 gcc 的默认链接器文件
【发布时间】:2016-06-01 04:41:09
【问题描述】:

这是来自 ARM ARM® Cortex™-A 系列,版本:4.0,程序员指南,第 9-1 页的引述。

“MMU 使任务或应用程序能够以不了解系统的物理内存映射或可能同时运行的其他程序的方式编写。”

我的问题与我们通过 gcc 编译的 linux 程序有关。我不想进行动态链接,所以请考虑程序是静态链接的。 我一直是嵌入式系统程序员,而且大多数情况下我们为整个项目提供了一个链接器文件。基于链接器文件的代码/数据被放入 RAM。 但是对于 Linux,当我使用 gcc(静态链接)编译和链接任何 c 应用程序时,我不提供任何链接器文件。

问题是 Linux 如何决定在内存中放置/加载程序的位置。它是否有适用于所有应用程序的默认链接器文件?

【问题讨论】:

  • 看来你们的项目没有使用任何操作系统,是吗?

标签: linux gcc linker mmu


【解决方案1】:

当然,GNU LD 有默认的链接描述文件。你甚至可以看到它。只需供应

-Wl,--详细

到你的 GCC 命令行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多