是否有将机器代码转换为目标文件的名称?

Is there a name for converting machine code to object files?

我很欣赏这可能是一个非常愚蠢的问题。在 ELF 文件或 Mach-O 文件中放置机器代码的过程是否有名称?

我想了解有关该过程的更多信息,但我不确定要搜索什么。

“链接”似乎是错误的词,因为构建目标文件发生在这之前。

您是说从一个平面二进制文件开始,然后使用 objcopy 创建一个 .o 并将该代码作为 .text 部分吗?我不知道这个的标准术语,所以选择一些描述性的东西,比如“将它包装在目标文件元数据中”。

如果您的意思是从 asm 源代码开始,那只是汇编的一部分。因此,如果您想具体一点,您会说 “组装成目标文件”,而不是“assemble 成平面二进制文件”。

事实上,如果机器代码引用任何绝对地址(如 NASM 语法中的 mov edi, symbol,对于 nasm -fbin),则汇编成平面二进制文件基本上涉及链接。 assembler 不仅要为符号创建重定位条目,还必须选择一个绝对地址作为参考点,以确定文件中每个标签的绝对地址。这通常是链接器的工作。