Content deleted Content added
m dash fix in bot generated titles (via WP:JWB) |
|||
(6 intermediate revisions by 5 users not shown) | |||
Line 19:
| website = {{URL|https://gcc.gnu.org}}
}}
The '''GNU Compiler for Java''' ('''GCJ''') is a discontinued [[Free software|free]] [[compiler]] for the [[Java (programming language)|Java programming language]]. It was part of the [[GNU Compiler Collection]]
GCJ compiles Java [[source code]] to [[Java virtual machine]] (JVM) [[bytecode]] or to [[machine code]] for a number of [[CPU architecture]]s. It could also compile [[Class (file format)|class files]] and whole [[JAR (file format)|JARs]] that contain bytecode into machine code.<ref>{{Cite web|url=https://www.linuxjournal.com/article/4860|title = Compiling Java with GCJ | Linux Journal}}</ref><ref>{{Cite web|url=http://freecode.com/projects/gcj|title = GNU Compiler for Java}}</ref>
Line 28:
</ref>
In 2007, a lot of work was done to implement support for Java's two graphical [[
<!--Not sure if this non-development for years contradicts above "AWT is still in development" as that is not a compiler (but would appear in "News"?)-->As of 2015, there were no new developments announced from GCJ and the product was in [[maintenance mode]], with open-source Java toolchain development mostly happening within [[OpenJDK]].<ref>[https://www.phoronix.com/scan.php?page=news_item&px=MTUwOTA GCC Looks To Turn Off Java, Replace With Go Or ADA]</ref> GCJ was removed from the GCC [[Trunk (software)|trunk]] on September 30, 2016.<ref>{{cite web|url=https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=240661|title=[gcc] Revision 240661|date=September 30, 2016|author=Andrew Haley}}</ref><ref>{{Cite web|url=https://tromey.com/blog/?p=911|title=The Deletion of gcj|last=Tromey|first=Tom|date=October 2, 2016|website=The Cliffs of Inanity|access-date=October 3, 2016}}</ref> Announcement of its removal was made with the release of the GCC 7.1, which does not contain it.<ref>{{cite web|url=https://gcc.gnu.org/gcc-7/changes.html|title=GCC 7 Release Series: Changes, New Features, and Fixes|access-date=May 9, 2017}}</ref> GCJ remains part of GCC 6.
Line 50:
<syntaxhighlight lang="java">
public class
▲ public int i;
public Int(int i) {
this.i = i; }
public static Int zero = new Int(0);▼
public int get() {
return i;
}
public void set(int j) {
i = j;
}
}
</syntaxhighlight>
Line 62 ⟶ 73:
<syntaxhighlight lang="cpp">
#include <gcj/cni.h>
#include <
MyInteger* mult(MyInteger& p, int k) {
if (k == 0) {▼
}
▲ if (k == 0)
▲ return Int::zero; // Static member access.
▲ return new Int(p->i * k);
}
</syntaxhighlight>
Line 83 ⟶ 95:
* [[Jikes]]
* [[GraalVM]] - GraalVM's Native Image functionality is an ahead-of-time compilation technology that produces executable binaries of class files.
* [[
* [[Free Java implementations]]
* [[Kotlin (programming language)|Kotlin]] - Kotlin/Native is a technology for compiling Kotlin to native binaries that run without any JVM. It comprises a [[LLVM]]-based backend for the Kotlin compiler and a native implementation of the Kotlin runtime library.
Line 92 ⟶ 104:
==External links==
* {{cite web |url= http://gcc.gnu.org/java/ |title= Official website |publisher= GNU |work= GCC |date= Mar 30, 2007 |url-status= dead |archive-date= May 9, 2007 |archive-url= https://web.archive.org/web/20070509055923/http://gcc.gnu.org/java/ }}
* {{cite web |url= http://gcc.gnu.org/onlinedocs/gcj/ |title= GCJ
* {{cite web |url= http://gcc.gnu.org/onlinedocs/gcj/About-CNI.html |title= About CNI |work= GCJ Manual |url-status= dead |archive-date= July 28, 2016 |archive-url= https://web.archive.org/web/20160728215116/http://gcc.gnu.org/onlinedocs/gcj/About-CNI.html }}
* {{cite web |url= https://lwn.net/Articles/130796/ |publisher= LWN |title= GCJ - past, present, and future |first= Mark |last= Wielaard |date= Apr 6, 2005 |url-status= live |archive-date= August 2, 2019 |archive-url= https://web.archive.org/web/20190802072307/https://lwn.net/Articles/130796/ }}
Line 100 ⟶ 112:
{{DEFAULTSORT:Gnu Compiler For Java}}
[[Category:Free
[[Category:GNU Project software|Java]]
[[Category:Java compilers]]
|