哪种面向对象的语言直接生成程序集(没有中间表示)?

时间:2017-08-05 06:22:40

标签: c++ assembly

我知道有C ++可以直接生成Assembly。但是哪种更像java的语言呢?

1 个答案:

答案 0 :(得分:4)

语言不生成程序集。编译器生成程序集。 C是传统上编译为汇编语言的一个例子,但也有一些解释器(GDB是最着名但不完整的)。

Clang是一个编译器的例子,它接受许多输入语言,如C和C ++,虽然它确实生成汇编代码,但它也使用intermediate representation

也许您在这里问的是哪些语言不依赖于虚拟机或字节码解释器。而且这个列表很大,因为它包含了传统的#34;编译器前端已经写好了。例如,Python有Cython,它有一些限制,可以像C或C ++那样编译Python代码。

Wikipedia有一个关于编译语言的页面,其中包含一个长列表:https://en.wikipedia.org/wiki/Compiled_language#Languages

其中一些可能与您的问题相关的一些更像Java"可能是Pascal,Go和Ada。它们在语法方面看起来不像Java,但它们更少"裸机"比C ++。