哪些面向对象语言直接生成汇编(无中间表示)? 我知道有C++直接生成程序集。但是,还有哪些类似java的语言也这样做呢?
语言不生成汇编。编译器生成程序集。C语言是一种传统上编译为汇编语言的语言,但也有一些解释器(GDB是最著名但不完整的)哪些面向对象语言直接生成汇编(无中间表示)? 我知道有C++直接生成程序集。但是,还有哪些类似java的语言也这样做呢?,c++,assembly,C++,Assembly,语言不生成汇编。编译器生成程序集。C语言是一种传统上编译为汇编语言的语言,但也有一些解释器(GDB是最著名但不完整的) CLAN是一个编译器,它接受许多输入语言,如C和C++,并且在它产生汇编代码时,也使用.< /P> 也许您在这里要问的是哪些语言不依赖于虚拟机或字节码解释器。这个列表是巨大的,因为它包含了每一种编写了“传统”编译器前端的语言。例如Python有Cython,它有一些限制,可以编译Python代码,如C或C++。 Wikipedia有一个关于编译语言的页面,这里有一个很长的列表
CLAN是一个编译器,它接受许多输入语言,如C和C++,并且在它产生汇编代码时,也使用.< /P> 也许您在这里要问的是哪些语言不依赖于虚拟机或字节码解释器。这个列表是巨大的,因为它包含了每一种编写了“传统”编译器前端的语言。例如Python有Cython,它有一些限制,可以编译Python代码,如C或C++。 Wikipedia有一个关于编译语言的页面,这里有一个很长的列表:
其中一些可能与您的问题“更像Java”相关的可能是Pascal、Go和Ada。在语法方面,它们看起来不像java,但它们比C++更不“裸露”,而什么使语言“更像java”呢?您听说过gcj吗?它是一种将Java直接编译成机器代码的编译器,几乎所有的编译器都会生成某种(内部)中间表示。许多大型C++编译器使用它们的中间表示来直接生成机器代码,而不必经过汇编步骤。