GNU Compiler for Java
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/02/20 03:07 UTC 版)
![]() | |
作者 | GNUプロジェクト |
---|---|
最新版 |
6.5
/ 2018年10月26日 |
対応OS | Unix-like |
種別 | コンパイラ |
ライセンス | GPL |
公式サイト | http://gcc.gnu.org/java |
GNU Compiler for Java(グニュー・コンパイラ・フォー・ジャバ、GCJ、ジーシージェー)はJavaのためのフリーなコンパイラで、GCCの一部である。Javaソースコードをコンパイルし、Java仮想マシンのJavaバイトコードまたは機械語を出力する。また、バイトコードを格納したJavaクラスファイルや、それらを格納したJAR全体をマシン語にコンパイルすることも出来る。GCJで使用されるほとんど全てのランタイムライブラリはGNU Classpathプロジェクトに由来する。
AWTとSwingの2つのグラフィカルAPIをGNU Classpathにサポートさせることに現在多くの労力が投入されている。AWTとSwingの両方のフルサポートは間近であり、AWT/Swingアプリケーションを実行するためにサン・マイクロシステムズから提供されたランタイムを使用する必要性は遠からずなくなる見通しである。
2015年より、新しい開発のアナウンスはなく、製品はメンテナンスモードとなった[1]。2016年9月30日、GCJはGCCのtrunkから削除された[2][3]。削除のアナウンスは、GCJを含まないGCC 7.1のリリースとともに行われた[4]。GCJはGCC 6の一部として残されている。
CNI (Compiled Native Interface)
CNI (Compiled Native Interface)は、ネイティブアプリケーションやC++で記述されたライブラリを、Javaコードとの間で相互に呼び出せるようにするためのGCJのためのソフトウェアフレームワークである。
これは多くのJava仮想マシンで標準とされているJNI (Java Native Interface)フレームワークに似ているが、CNIの作成者はJNIに対して幾つもの優位性を主張している。
我々はCNIをより良い手段だと考えて採用している。特に、Javaは標準的なコンパイル技術を使って実装されるもう一つのプログラミング言語に過ぎない、とする発想に基づいたJava実装において、より良いと考える。それゆえ、そしてGCCを用いた言語実装は出来るだけ互換であるべきなので、Javaの呼び出し規約は、他の言語、特にC++で使用される規約に対して、実用性を損なわない範囲で極力似ていなければならない。なぜなら我々は、JavaをC++のサブセットと考えることもできるためである。CNIは、単にC++とJavaは同じ呼び出し規約とオブジェクト配置を持ち、バイナリ互換である、という発想によるヘルパー関数と規約のセットである。(この説明は単純化されているが、十分に正確である)[5]
脚注
- ^ GCC Looks To Turn Off Java, Replace With Go Or ADA
- ^ Andrew Haley (September 30, 2016). “[gcc] Revision 240661”. 2017年12月9日閲覧。
- ^ Tromey, Tom (October 2, 2016). “The Deletion of gcj”. The Cliffs of Inanity. October 3, 2016閲覧。
- ^ “GCC 7 Release Series: Changes, New Features, and Fixes”. May 9, 2017閲覧。
- ^ The GCJ FAQ 2.3 Why does GCJ use CNI?[1] より
関連項目
- GNU Interpreter for Java
- GNUコンパイラコレクション
- Kaffe
外部リンク
「GNU Compiler for Java」の例文・使い方・用例・文例
- 5 月15 日の午前8 時30 分から午後3 時まで、Oceanview公園で開催される、毎年恒例のWalk for Petsについてのお知らせです。
- イベントによる収益金の半分は、捨てられたペットのための保護施設であるHome for Petsに使われ、残りはさまざまな動物福祉団体に分配されます。
- 年次監査を行うために、Bradford and Partnersの会計士たちが10 月10 日の午前10 時に当社を訪ねてくる予定です。
- Bradfordの新人会計士2 名が今年の監査を担当すると連絡がありました。
- こんにちは、Bradfordさん。
- 昨日Bradfordさんが受け取られたデスクランプについてお電話を差し上げています。
- 取り違えてしまって申し訳ありませんが、あのランプは別のお客様に送られるはずのもので、誤ってBradfordさんに配送されました。
- Bradfordさんが受け取るはずだった商品は、Anne Keeganさんからの贈り物のご注文でした。
- タックマンモデルとは、チームビルディングにおける5段階、すなわち形成(Forming)、混乱(Storming)、統一(Norming)、機能(Performing)、散会(Adjourning)を示すモデルである。
- 着手する; 〔…の〕端緒を開く 〔for〕.
- 紺 《Oxford 大学およびその選手の色標》.
- 〔音楽会などへの〕優待券, 招待券 〔to, for〕.
- 等位接続詞 《and, but, or, for など; ⇔subordinate conjunction》.
- 【文法】 相関語 《either と or, the former と the latter など》.
- [for a] holiday to [in] France last year. 昨年は休暇をとってフランスへ旅行した.
- (最も奥の), foremost (真っ先の).
- 新大学, 1960 年以降に創設された大学, 板ガラス大学 《Oxford, Cambridge のような石造りの ancient universities, 19 世紀に創設された London 大学のような赤れんが造りの redbrick universities に対して言う; 建築様式がふんだんに plate glass を使ってモダンなことから》.
- コンセプション岬 《California 州にある》.
- être for this policy? この政策はどんな存在理由があるのか.
- から Oxford へ通ずる)オックスフォード街道.
- GNU_Compiler_for_Javaのページへのリンク