Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
哪些面向对象语言直接生成汇编(无中间表示)? 我知道有C++直接生成程序集。但是,还有哪些类似java的语言也这样做呢?_C++_Assembly - Fatal编程技术网

哪些面向对象语言直接生成汇编(无中间表示)? 我知道有C++直接生成程序集。但是,还有哪些类似java的语言也这样做呢?

哪些面向对象语言直接生成汇编(无中间表示)? 我知道有C++直接生成程序集。但是,还有哪些类似java的语言也这样做呢?,c++,assembly,C++,Assembly,语言不生成汇编。编译器生成程序集。C语言是一种传统上编译为汇编语言的语言,但也有一些解释器(GDB是最著名但不完整的) CLAN是一个编译器,它接受许多输入语言,如C和C++,并且在它产生汇编代码时,也使用.< /P> 也许您在这里要问的是哪些语言不依赖于虚拟机或字节码解释器。这个列表是巨大的,因为它包含了每一种编写了“传统”编译器前端的语言。例如Python有Cython,它有一些限制,可以编译Python代码,如C或C++。 Wikipedia有一个关于编译语言的页面,这里有一个很长的列表

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

CLAN是一个编译器,它接受许多输入语言,如C和C++,并且在它产生汇编代码时,也使用.< /P> 也许您在这里要问的是哪些语言不依赖于虚拟机或字节码解释器。这个列表是巨大的,因为它包含了每一种编写了“传统”编译器前端的语言。例如Python有Cython,它有一些限制,可以编译Python代码,如C或C++。 Wikipedia有一个关于编译语言的页面,这里有一个很长的列表:

其中一些可能与您的问题“更像Java”相关的可能是Pascal、Go和Ada。在语法方面,它们看起来不像java,但它们比C++更不“裸露”,而什么使语言“更像java”呢?您听说过gcj吗?它是一种将Java直接编译成机器代码的编译器,几乎所有的编译器都会生成某种(内部)中间表示。许多大型C++编译器使用它们的中间表示来直接生成机器代码,而不必经过汇编步骤。