繁体   English   中英

如何/可以用GCJ编译Clojure

[英]How do / Can I compile Clojure with GCJ

因为Clojure是基于JVM构建的,所以我想我可以使用GCJ将其直接编译为机器代码,但找不到任何有关它的信息。

在可能的情况下,我如何才能将其“剥离”成基本要素,因此启动时间和内存占用量要尽可能小。

我真的很想用Clojure遵循UNIX原理编写小型终端程序

从理论上讲,您可以将Clojure源代码AOT编译为Java字节码,然后使用gcj将此字节码编译为本机代码。 实际上,我不希望这能起作用。 gcj具有严重的局限性gcj在大多数现代Java应用程序中使用。 具体来说,它对语言功能的支持从Java 1.2(Clojure需要Java 1.6 )停止,并且它对Clojure运行时所需的标准类库的实现不完整。 在野外,我已经看到Clojure应用程序在使用gcj运行gcj不是OpenJDK或Oracle JRE意外启动时崩溃并烧毁。

clojure编译器通常从文件中获取源“表达式”,并生成JVM字节码。 然后,此字节码由JVM编译为JIT样式以生成机器码。 clojure编译器和GCJ都是编译器 ,尽管它们针对不同的语言,所以谈论一个接一个地链接是没有意义的。 clojure编译器不会产生Java源代码,而是直接产生字节码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM