GNU_Compiler_for_Javaとは? わかりやすく解説

GNU Compiler for Java

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/07/03 13:39 UTC 版)

GNU Compiler for Java
作者 GNUプロジェクト
初版 1998年9月6日 (27年前) (1998-09-06)
最新版
6.5 / 2018年10月26日 (7年前) (2018-10-26)
プログラミング
言語
CC++Java
対応OS Unix-like
サポート状況 終了
種別 コンパイラ
ライセンス GPL
公式サイト http://gcc.gnu.org/java
テンプレートを表示

GNU Compiler for Java(グニュー・コンパイラ・フォー・ジャバ、GCJ、ジーシージェー)は、かつて開発されていたJavaのためのフリーなコンパイラで、GCCの一部であった。Javaソースコードをコンパイルし、Java仮想マシンJavaバイトコードまたは機械語を出力することができた。また、バイトコードを格納したJavaクラスファイルや、それらを格納したJAR全体をマシン語にコンパイルすることもできた。GCJで使用されていたほとんど全てのランタイムライブラリGNU Classpathプロジェクトに由来する。

2007年当時、AWTSwingの2つのグラフィカルAPIをGNU Classpathにサポートさせることに多くの労力が投入されていたが、AWTのサポートは不完全なままであった。削除されるまでに、GCCがサポートしていたのはJava 1.4までであり、ジェネリクスやアノテーションなどそれ以降の機能の大部分を欠いていた。GNU ClasspathもJava 1.2のステータスにさえ完全には到達せず、現在は開発が完全に放棄されたとみられている。

2015年より、新しい開発のアナウンスはなく、製品はメンテナンスモードとなり、オープンソースのJavaツールチェーン開発は主にOpenJDK内で行われるようになった[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]

脚注

  1. GCC Looks To Turn Off Java, Replace With Go Or ADA
  2. Andrew Haley (2016年9月30日). [gcc] Revision 240661”. 2017年12月9日閲覧。
  3. Tromey, Tom (2016年10月2日). The Deletion of gcj”. The Cliffs of Inanity. 2016年10月3日閲覧。
  4. GCC 7 Release Series: Changes, New Features, and Fixes”. 2017年5月9日閲覧。
  5. The GCJ FAQ 2.3 Why does GCJ use CNI? より

関連項目

外部リンク


「GNU Compiler for Java」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



固有名詞の分類


英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「GNU_Compiler_for_Java」の関連用語

GNU_Compiler_for_Javaのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



GNU_Compiler_for_Javaのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのGNU Compiler for Java (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2026 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2026 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2026 GRAS Group, Inc.RSS