【发布时间】:2020-01-13 23:27:48
【问题描述】:
像 C、C++ 和类似语言这样的语言将其代码编译为汇编代码,而不是直接生成二进制文件的原因是什么?从抽象语言中推断出“正确”的编程是否太难了?在我看来,转换为将再次转换的东西并不是一种最佳的做事方式,但我不知道这可能有很好的理由。这是否连接到具有不同实现的每个 CPU 架构?
【问题讨论】:
-
有很多编译器可以直接编译成机器码,现在可能大部分都是这样。
-
像 C、C++ 和类似语言这样的语言将其代码编译成汇编的原因是什么 他们不这样做。
-
你在说什么编译器?为什么你认为它生成汇编而不是二进制?
-
gcc 生成程序集。 clang 可以与集成或外部汇编器一起使用。
-
@C.K.这不是它的工作原理。如果您或其他任何人认为他们有更好更“正确”的答案,他们可以将其发布到链接的问题中。我们不需要在此处发布多余(或完全错误)的答案。无论如何,链接的问题确实对 Peter Cordes 的问题有正确的答案。
标签: c++ c assembly compilation cpu