为什么C语言构建过程包括'assemble'过程?

Why C language build process includes 'assemble' process?

What is the difference between native code, machine code and assembly code?

你好,我是韩国人,所以我的英语可能会让你感到困惑。

看了上面link的内容,想知道为什么C编译过程中包含'assemble'过程

下面是我知道的C编译过程

Source file -> Preprocess -> Compile (in this process, assembly code is made) -> Assemble (in this process assembly code is converted to machine code) -> Link -> Executable files (.exe)

我在link上面看到'Timwi'说“非托管代码是指用C或C++等编程语言编写的代码,直接编译成机器代码。”

如果C或C++可以直接编译成机器码,为什么还需要'assemble'过程? 包含这个'assemble'进程的目的只是为了调试?或者有重要和实际的原因?

Timwi 正在简化构建过程。

重点是 C 代码通常不会编译为虚拟机的字节码,而是编译为您机器的本机代码。这是“直接”的,因为在 运行 时不需要进行进一步的处理以使程序 运行 可用,这通常与 C# 或 Java.[=10 等语言一起使用=]

可能有一个多步骤的过程,包括编译、组装和链接,以实现这一目标,但过程中的步骤对 Timwi 提出的要点并不重要。