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

标签 linux gcc linker mmu

这是引用自 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/

相关文章:

c++ - Linux C++ 程序通过系统调用启动 bash 脚本总是返回 -1

linux - 错误: command '/usr/bin/gcc-4.8' failed with exit status 1 when installing spiff with linuxbrew

linux - gcc 链接器 (ld) 找不到共享库

c++ - 为什么我需要将 -lstdc++ 添加到我的其他链接器标志中?

linux - 链接旧版本的 libc 以提供更大的应用程序覆盖率

用于解压缩任何文件压缩格式的 Linux 工具

ruby - 当搜索为空时如何在Linux中查找程序

linux - bash循环仅在最后一个文件上执行命令

python - pip install py2EXE/cs_Freeze 报错 Ubuntu

c - GCC 多个函数定义链接器错误