gpt4 book ai didi

compilation - 汇编文件、目标文件和二进制文件有什么区别?

转载 作者:行者123 更新时间:2023-12-05 03:10:30 27 4
gpt4 key购买 nike

我正在使用 Clang 编译器,但总是混淆汇编文件 (.s)、目标文件 (.o) 和二进制文件 (.bc)。谁能解释一下它们的区别?

最佳答案

汇编文件 (.s) 包含人类可读形式的机器指令,称为汇编语言。目标文件包含机器可读的二进制形式的相同指令。汇编文件可以由汇编程序 (as) 翻译成目标文件。

LLVM 位码文件 (.bc) 包含二进制形式的 LLVM 指令。它可以由 LLVM 编译器 (llc) 翻译成机器代码,或使用 LLVM 解释器 (lli) 直接执行。

您的问题中未列出的是 LLVM 程序集文件 (.ll)。它们包含与位码文件相同的指令,但采用人类可读的形式。可以使用 LLVM 汇编程序 (llvm-as) 将它们转换为位码文件。

关于compilation - 汇编文件、目标文件和二进制文件有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39428423/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com