代わりに、SunのJDKのJava用のGNUコンパイラでJavaをコンパイル違い
-
18-09-2019 - |
質問
私はJava用のGNUコンパイラを使用するために必要なのです学校のプロジェクトに取り組んでいます。私はいつも公式日JDKを使用して働いてきたし、今私は自分の仕事を複雑にする可能性がある違いが心配です。
私は、Javaのバージョンが最新GCJコンパイラ
でサポートされている1つである、特別に興味誰かが1つまたは他との違いでいくつかの光を当てるか?
PS:私はグーグルで検索最近の答えを見つけることに失敗した。
解決
GCJはあなたが公式のJDK&GNUクラスパスの違いを必要とするGNUクラスパスの上のコンパイラですので。 SUN JDK 1.4は、 SUN JDK 1.5を参照してください
他のヒント
、それはあなたが、彼はあなたがそのような異常なプラットフォームを使用し作っている理由を再考喜ばせるためにあなたの教授をお願いしなければならないことを意味します。現実の世界では、人々は主に日のJDKを使用します。私は近い将来にこの変更はあまり見ません。これは、ほとんどの部分は、高品質の製品です。
これは本当にあなたが学ぶ手助けすることはできますか?
まあそれのホームページから
Compiled applications are linked with the GCJ runtime, libgcj, which provides the core
class libraries, a garbage collector, and a bytecode interpreter. libgcj can dynamically
load and interpret class files, resulting in mixed compiled/interpreted applications. It
has been merged with GNU Classpath and supports most of the 1.4 libraries plus some 1.5
additions.
GCJのウェブサイトから。 GNUコンパイラは先に-のタイムコンパイラではなく、Sunのようなジャストインタイムコンパイラであるように見えます。だから、すぐそこに違いが1つあります。フロントページには、それはlibgcjランタイムに組み込まれているいくつかのバイトコードの解釈施設を持っていることを少し漠然として参照です。
私は1.4と1.5のライブラリのほとんどをカバー任意のライブラリを警戒すると思います。あなたはおそらく大丈夫1.4をターゲットにする場合。 1.6あなたは傷の世界のために、おそらくです。
心の中でベアGCJは唯一のクラスファイルを解釈できるならば、それはSunのJITコンパイラよりもはるかに遅い実行しているコンパイルされていないコードである可能性があります。
私は私が最後に見た時間を解析する日付の微妙な違いに遭遇しています。
GNU JVMは、Java TCKに合格していないとして、あなたは基本的に必要な完全なテストと新しいプラットフォームとして扱う必要があります。