GNU Compiler for Java
GNU Compiler for Javaの最新ニュースをまとめて検索!
| GNU Compiler for Java | |
|---|---|
![]() |
|
| 開発元 | The GNU Project |
| 最新版 | 4.3.3 (2009年1月24日) |
| 対応OS | Unix-like |
| 種別 | Compiler |
| ライセンス | GPL |
| 公式サイト | http://gcc.gnu.org/java |
GNU Compiler for Java(グニュー・コンパイラ・フォー・ジャバ、GCJ、ジーシージェー)はJavaのためのフリーなコンパイラで、GCCの一部である。Javaソースコードをコンパイルし、Java仮想マシンのバイトコードまたはマシン語を出力する。また、バイトコードを格納したクラスファイルや、それらを格納したJAR全体をマシン語にコンパイルすることも出来る。GCJで使用されるほとんど全てのランタイムライブラリはGNU Classpathプロジェクトに由来する。
AWTとSwingの2つのグラフィカルAPIをGNU Classpathにサポートさせることに現在多くの労力が投入されている。AWTとSwingの両方のフルサポートは間近であり、AWT/Swingアプリケーションを実行するためにサン・マイクロシステムズから提供されたランタイムを使用する必要性は遠からずなくなる見通しである。
[編集] CNI (Compiled Native Interface)
CNI (Compiled Native Interface)は、ネイティブアプリケーションやC++で記述されたライブラリを、Javaコードとの間で相互に呼び出せるようにするためのGCJのためのソフトウェアフレームワークである。
これは多くのJava仮想マシンで標準とされているJNI(Java Native Interface)フレームワークに似ているが、CNIの作成者はJNIに対して幾つもの優位性を主張している。
我々はCNIをより良い手段だと考えて採用している。特に、標準的なコンパイル技術を使って実装されるもう一つのプログラミング言語に過ぎないとする発想に基づいたJava実装において、より良いと考える。それゆえ、そしてGCCを用いた言語実装は出来るだけ互換であるべきなので、Javaの呼び出し規約は、他の言語、特にC++で使用される規約に対して、実用性を損なわない範囲で極力似ていなければならない。なぜならC++は、JavaをC++のサブセットと考えることもできるためである。CNIは、単にC++とJavaは同じ呼び出し規約とオブジェクト配置を持ち、バイナリ互換である、という発想によるヘルパー関数と規約のセットである。(この説明は単純化されているが、十分に正確である)[1]
[編集] 関連項目
[編集] 外部リンク
最終更新 2009年11月26日 (木) 10:51 (日時は個人設定で未設定ならばUTC)。
【GNU Compiler for Java】変更履歴


