link 编辑器 (LD) 参数是什么意思?

What do link editor (LD) params mean?

我编写 NASM(全网汇编程序)程序,出于某些原因我需要使用一些用 C 编写的函数。因此,我尝试 link 使用编译的汇编对象编译 C 对象文件ld link 编辑器。我是这样做的:

ld -m elf_x86_64 -lc --dynamic-linker=/lib64/ld-linux-x86-64.so.2 object_files -o program.

它不想 link 工作足够长的时间,直到我获得必要的参数。现在,此参数集可按预期工作。但是我不明白-lc--dynamic-linker=/lib64/ld-linux-x86-64.so.2的意思。他们做什么?

  1. -lc - link c 标准库
  2. --dynamic-linker=/lib64/ld-linux-x86-64.so.2. - 设置程序加载器。 Linux ELF 二进制文件为此提供了一个字段。

Afaik 即使对于静态二进制文件也需要后者,任何其他内容都会混淆加载程序,并且它不会执行。

man ld 列出其参数。