这是引用自 ARM ARM® Cortex™-A 系列,版本:4.0,程序员指南,第 9-1 页。
“MMU 使任务或应用程序能够以一种不需要知道系统的物理内存映射或可能同时运行的其他程序的方式编写。”
我的问题与我们通过 gcc 编译的 linux 程序有关。我不想进行动态链接,所以请考虑程序是静态链接的。 我曾经是一名嵌入式系统程序员,大多数情况下我们只有一个用于整个项目的链接器文件。基于链接器文件的代码/数据被放入 RAM。 但是在 Linux 的情况下,当我使用 gcc(静态链接)编译和链接任何 c 应用程序时,我不提供任何链接器文件。
问题是 Linux 如何决定在内存中放置/加载我的程序的位置。它是否具有适用于所有应用程序的默认链接器文件?
最佳答案
当然,GNU LD 有默认的链接描述文件。你甚至可以看到它。只需供应
-Wl,--verbose
到您的 GCC 命令行。
关于linux - 关于静态链接程序的 MMU 和 gcc 的默认链接器文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37559577/