GNU Compiler for Java: Difference between revisions

Content deleted Content added
No edit summary
 
(3 intermediate revisions by 3 users not shown)
Line 28:
</ref>
 
In 2007, a lot of work was done to implement support for Java's two graphical [[application programming interface|API]]s in [[GNU Classpath]]: [[Abstract Window Toolkit|AWT]] and [[Swing (Java)|Swing]]. Software support for [[Abstract Window Toolkit|AWT]] is still in development.<!--Note, "Optional SWT support" also available for micro-libgcj (that is a subset - not maintained, not sure if this SWT support also applies to GCJ)--> "Once AWT support is working then Swing support can be considered. There is at least one free-software partial implementations of [[Swing Application Framework|Swing]] that may be usable.".<ref>[https://gcc.gnu.org/java/faq.html#2_4 The GCJ FAQ]</ref> The GNU CLASSPATH was never completed to even Java 1.2 status and now appears to have been abandoned completely.
 
<!--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 IntMyInteger {
public private int i;
{
 
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;
}
 
public static final Int zeroZERO = new Int(0);
}
</syntaxhighlight>
Line 62 ⟶ 73:
<syntaxhighlight lang="cpp">
#include <gcj/cni.h>
#include <IntMyInteger>
 
MyInteger* mult(MyInteger& p, int k) {
if (k == 0) {
return IntMyInteger::zeroZERO; // Static member access.
}
 
return new IntMyInteger(p->i.get() * k);
Int *mult(Int *p, int k)
{
if (k == 0)
return Int::zero; // Static member access.
return new Int(p->i * k);
}
</syntaxhighlight>
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 MaualManual |url-status= dead |archive-date= August 22, 2016 |archive-url= https://web.archive.org/web/20160822153028/http://gcc.gnu.org/onlinedocs/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 compilers and interpretersopen source compilers]]
[[Category:GNU Project software|Java]]
[[Category:Java compilers]]