中的 386 和 32 位选项有什么区别ld -V
?
elf32_x86_64
elf_i386
i386linux
i386pep
i386pe
而且,在哪里可以找到有关这些“仿真模式”的文档
答案1
“仿真”选择不同的链接描述文件;您将在/usr/lib/ldscripts
您的系统上找到脚本本身。您列出的仿真对应于
elf32_x86_64
:x64-32 的 ELF,又名x32— 32 位 x86-64 二进制文件elf_i386
: i386 的 ELF — 32 位 i386 二进制文件i386linux
: i386 的 a.outi386pep
: PE+ for x86-64 — Windows 格式 64 位二进制文件i386pe
:i386 的 PE — Windows 格式的 32 位二进制文件
链接器脚本定义输出格式和体系结构、搜索目录(在其中ld
查找库)、二进制文件中的部分等等。
链接器脚本格式有详尽的文档(见上文),但可用的脚本却没有;在大多数情况下,GCC 会指定正确的脚本,因此您不必担心它,而在其他情况下,您最终需要阅读链接器脚本本身才能弄清楚它们的作用。