为什么C更接近硬件?

use*_*198 3 c

C的一个优点是它更接近硬件.但我不明白它到底意味着什么.如果有人能够详细说明,那将是很有帮助的.

duf*_*ymo 5

没有虚拟机解释C可执行代码.它被编译成特定于特定CPU的机器指令,它们链接在一起并在您的硬件上运行.

另一个原因是语言本身的设计.当Kernighan和Ritchie为DEC硬件开发C时,他们非常注意寄存器,位移等实际的硬件功能.他们的思维和他们编写语言的机器之间没有一层抽象.

  • C中的运算符通常在许多体系结构中与各自的汇编指令接近1-1映射.例如,单个指针解除引用(或者通常用于该事件的数组索引)通常转换为单个指令. (3认同)

Ale*_*VII 0

如果比较的Cjava,C更接近硬件,因为java不直接在系统上运行。Java在java虚拟机上执行,然后在系统上运行。

C 在它和系统之间没有这样的层,因此更接近硬件。

  • 如果需要,您可以使用“gcj”将 Java 编译为本机代码。语言编译器的实现与语言本身的属性无关。 (2认同)