1

Clojure は JVM の上に構築されているため、GCJを使用して直接マシン コードにコンパイルできると思いますが、それに関する情報は見つかりません。

可能であれば、どうすればそれを必要最小限に「取り除く」ことができるので、起動時間とメモリフットプリントは可能な限り小さくなります。

Clojure を使用して、UNIX の原則に従って小さな端末プログラムを書きたいと思っています。

4

2 に答える 2

3

理論的には、Clojure ソース コードを Java バイトコードに AOT コンパイルしてから、 を使用gcjしてこのバイト コードをネイティブ マシン コードにコンパイルできます。実際には、これがうまくいくとは思いません。gcjには、ほとんどの最新の Java アプリケーションでの使用を妨げる厳しい制限があります。具体的には、言語機能のサポートは Java 1.2 で停止し (Clojure にはJava 1.6が必要)、Clojure ランタイムに必要な標準クラス ライブラリの実装が不完全です。実際に、Clojure アプリケーションgcjが、OpenJDK または Oracle JRE の代わりにランタイムを使用して誤って起動されたときに、クラッシュしたり燃えたりするのを見てきました。

于 2015-07-21T15:56:02.033 に答える