关于静态链接程序的 gcc 的 MMU 和默认链接器文件



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

"MMU使任务或应用程序的编写方式要求它们不了解系统的物理内存映射,或者可能同时运行的其他程序。

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

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

当然,GNU LD 有默认的链接器脚本。你甚至可以看到它。只是供应

-wl,--verbose

到您的 GCC 命令行。

最新更新