GNU-kääntäjä Javalle

GNU-kääntäjä Javalle
Tyyppi Kääntäjä
Tekijä Cygnus Solutions [1]
Kehittäjä GNU projekti
Käyttöjärjestelmä Unixin kaltainen
Ensimmäinen painos 1998 [1] [2]
Laitteistoalusta Java-virtuaalikone
uusin versio 6.5 / 26. lokakuuta 2018 ( 4. joulukuuta 2015 )
Lisenssi GNU GPL
Verkkosivusto gcc.gnu.org/gcc-6/
 Mediatiedostot Wikimedia Commonsissa

GNU Compiler for Java ( GCJ tai gcj ) on ilmainen Java - kielen kääntäjä , joka on osa GNU Compiler Collection -kokoelmaa , mutta vuodesta 2017 lähtien sitä ei enää ylläpidetä, eikä se ole osa tulevia julkaisuja.

GCJ voi kääntää Java - lähdekoodin Java Virtual Machine -tavukoodiksi tai suoraan konekoodiksi monissa prosessoriarkkitehtuureissa . Se voi myös kääntää konekoodiksi tavukoodia sisältäviä luokkatiedostoja tai tällaisia ​​tiedostoja sisältäviä kokonaisia ​​JAR -tiedostoja.

Suurin osa gcj:n käyttämistä ajonaikaisista kirjastoista on peräisin GNU Classpath -projektista (vrt. kirjasto libgcj ). Gcj 4.3:sta lähtien gcj:n on integroinut ecj, Eclipse Java -kääntäjä . [3]

Vuodesta 2007 lähtien on tehty paljon työtä GNU Classpathin tuen eteen kahdelle Java - grafiikkasovellusliittymälle : AWT ja Swing . AWT:n tuki on jatkuvaa, minkä jälkeen tuki Swingille. [neljä]

Vuodesta 2009 lähtien gcj:n uudet muutokset ovat melkein pysähtyneet. [5] Tuote on tällä hetkellä huoltotilassa.

Vuodesta 2015 lähtien GCJ ei ole ilmoittanut uutta kehitystä ja tuote oli ylläpitotilassa, ja avoimen lähdekoodin Java-työkalupakin kehitys tapahtui pääasiassa OpenJDK:ssa. GCJ poistettiin GCC:n rungosta 30. syyskuuta 2016. Ilmoitus sen poistamisesta tehtiin GCC 7.1:n julkaisun myötä, joka ei sisällä sitä. GCJ on edelleen osa GCC 6:ta.

Suorituskyky

GCJ:tä käyttämällä natiivikoodiin käännetyn Java-koodin käynnistysajan tulisi olla nopeampi kuin vastaavalla JVM:ssä ajettavalla tavukoodilla [6] .

Kuitenkin, kun Java on käynnissä, GCJ:n kääntämä koodi ei välttämättä toimi nopeammin kuin nykyaikaisen JIT -yhteensopivan JVM:n suorittama tavukoodi . Tämä pätee myös silloin, kun GCJ:tä kutsutaan edistyneillä optimointivaihtoehdoilla, kuten -fno-bounds-check -O3 -mfpmath=sse -msse2 -ffast-math -march=native . Se, voiko käännetty ohjelma ylittää JVM:n vai ei, riippuu koodin suorittamista erityisistä toiminnoista [7] .

Ohjelmat, jotka käyttävät GNU Compiler for Java -ohjelmaa

Katso myös

Muistiinpanot

  1. 1 2 https://gcc.gnu.org/wiki/GCJ
  2. https://gcc.gnu.org/news/gcj-announce.txt
  3. gcj käyttääksesi Eclipse-kääntäjää käyttöliittymänä (downlink) (8. tammikuuta 2007). Haettu 20. toukokuuta 2007. Arkistoitu alkuperäisestä 2. toukokuuta 2012.  
  4. GCJ FAQ - GNU Project - Free Software Foundation (FSF) . Haettu 11. heinäkuuta 2010. Arkistoitu alkuperäisestä 15. tammikuuta 2016.
  5. GCJ: Uutiset arkistoitu 18. huhtikuuta 2008.
  6. GCJ: GNU Static Java Compiler (downlink) . Haettu 11. heinäkuuta 2010. Arkistoitu alkuperäisestä 7. kesäkuuta 2011. 
  7. GCJ vs Java JIT -suorituskykyvertailu (downlink) . Haettu 11. heinäkuuta 2010. Arkistoitu alkuperäisestä 25. helmikuuta 2017. 

Linkit