compiler bootstrapping上的维基百科页面列出了编译器被引导的语言中的python和java。 Aren的javac和cpython在c中实现了吗? 为什么这些语言列在该页面上?
答案 0 :(得分:1)
autoHeight
是用Java编写的,它将Java源代码编译为字节码。该来源可在线获取。所以javac
被引导了。您可能会将javac
与JVM混淆,因为后者是用C语言编写的,用于将字节码编译为机器代码并运行它。
Python也是如此。编译器与执行环境不同。
答案 1 :(得分:0)
使用Java,Java编译器(javac
)和Java虚拟机(java
)之间存在区别。除非操作系统和/或CPU支持本机运行Java应用程序,否则您将需要一个JVM来运行任何Java应用程序。
另一方面,Apache Maven等工具是用Java编写的,也可以调用Java编译器。这不是通过调用Java包来完成的。 The page on the Maven Compiler Plugin描述了如何完成此操作,以及如何配置插件以使用javac
可执行文件。
总是需要一些本机代码。但是没有什么能阻止你编写所有在Java本身产生Java字节码的代码。毕竟,它的作用是将文本转换为字节。您可以使用任何编程语言执行此操作,包括Java。