GCC

ohjelmointikielten kääntäjien kokoelma
Tämä artikkeli kertoo ohjelmoinnista. GCC on myös Gulf Cooperation Councilin lyhenne

GNU Compiler Collection (yleensä GCC) on GNU-projektin kääntäjien kokoelma. Se on Free Software Foundationin vapaata ohjelmistoa, ja julkaistu GNU GPL:n ja osin LGPL:n alaisuudessa. GCC on GNUn kehitysympäristön tärkein osa ja vapaiden Unixin kaltaisten käyttöjärjestelmien vakiokääntäjä ja usein hyödynnetty myös kaupallisten kehitysympäristöjen kanssa.

GCC
GNU Compiler Collection logo.svg
Gcc-4.1.1.png
Kehittäjä GNU-projekti
Kehityshistoria
Ensijulkaisu 23. toukokuuta 1987[1]
Vakaa versio 9.3 ()[2]
Tiedot
Ohjelmistotyyppi Ohjelmointikielen kääntäjä
Alusta alustariippumaton
Lisenssi GNU GPL
Aiheesta muualla
Kotisivu
Versiohallinta

GCC:n alkuperäinen nimi oli GNU C Compiler ja se osasi kääntää vain C:tä. Nyttemmin GCC osaa kääntää myös C++:a, Fortrania, Adaa, Objective-C:tä, Go:ta ja D:tä.[3][4] Java kääntäjä on poistettu GCC:stä versiosta 7 alkaen.[5]

GCC:tä voidaan käyttää ristiinkääntäjänä, jolloin käännösympäristönä voi olla eri alusta kuin varsinainen kohdealusta.[6] Kohde voi olla esimerkiksi pelikonsoli (kuten PlayStation 2).[7][8]

HistoriaMuokkaa

Richard Stallman aloitti GCC:n kehityksen. GCC oli aluksi kirjoitettu Pastel-kielellä, joka oli Pascal-kielen murre.[9] Jotta kääntäjä saatiin kevyemmäksi ja helpommin käännettäväksi Len Tower ja Stallman kirjoittivat sen uudelleen C-kielellä.[9][10] Ensimmäinen beetaversio julkaistiin 22. maaliskuuta 1987 ja 1.0 julkaistiin 23. toukokuuta.[11][1] Ensimmäinen C++:aa kääntänyt versio, 1.15.3, julkaistiin 18. joulukuuta samana vuonna.[1]

Vuonna 1997 ryhmä kehittäjiä, jotka kyllästyivät GCC:n hitaaseen kehitykseen ja suljettuun kehitysryhmään, muodosti projektin nimeltä EGCS (Experimental/Enhanced GNU Compiler System), joka otti mukaan ominaisuuksia eräistä GCC:n epävirallisista muunnoksista, kuten Fortran 77 -kääntäjän, IBM:n kehittämän Haifa-optimoijan ja Pentium-optimoinnin. Myöhemmin Free Software Foundation lopetti oman GCC 2.x:n kehityksensä ja EGCS:sta tuli virallinen GCC huhtikuussa 1999.

GCC:n versio 4.2.1 oli viimeinen, joka julkaistiin GPL-lisenssin versiolla 2. Myöhemmät versiot käyttävät lisenssin versiota 3.[12]

GCC:n toteutusta on muutettu C-kielestä C++:n alijoukolle: tavoitteena on säilyttää yhteensopivuus edeltävään versioon sekä mahdollisuus kääntää GCC muilla kääntäjillä.[13]

Versio 7.1 lisää tuen C++17-standardin kaikille ominaisuuksille.[14]

ArkkitehtuuritMuokkaa

GCC:n kohdesuorittimet versiosta 4.3 lähtien:

Vähemmän tunnettuja suorittimia joita tuetaan vakiojulkaisussa:

Lisää suorittimia tuetaan versioissa, joita ylläpidetään erillään GNU-projektin versiosta:

LähteetMuokkaa

  1. a b c http://www.gnu.org/software/gcc/releases.html
  2. GCC 9.4 Status Report, (viitattu ). Arvo on haettu Wikidatasta.
  3. https://gcc.gnu.org/gcc-8/changes.html#go
  4. https://gcc.gnu.org/gcc-9/changes.html#d
  5. https://gcc.gnu.org/gcc-7/changes.html#java
  6. How to Build a GCC Cross-Compiler preshing.com. 19.11.2014. Viitattu 10.2.2020. (englanniksi)
  7. setting up gcc as a cross-compiler ps2stuff.playstation2-linux.com. Arkistoitu . Viitattu 10.2.2020. (englanniksi)
  8. 32-bit life support: Cross-compiling with GCC opensource.com. Viitattu 10.2.2020. (englanniksi)
  9. a b Gnu's Bulletin (sivu 10) web.cecs.pdx.edu. helmikuu 1986. Viitattu 15.1.2020. (englanniksi)
  10. Richard Stallman: The GNU Project gnu.org. Viitattu 7.3.2020. (englanniksi)
  11. http://groups.google.com/group/comp.lang.misc/msg/32eda22392c20f98
  12. https://web.archive.org/web/20120120133433/http://kerneltrap.org/node/13975
  13. GCC's move to C++ lwn.net. 13.3.2013. Viitattu 29.2.2020. (englanniksi) 
  14. GCC 7.1 Released LWN.net. 2.5.2017. Viitattu 8.5.2017.
  15. Hexagon Project Wiki codeaurora.org.
  16. sx-gcc: port gcc to nec sx vector cpu code.google.com.

Aiheesta muuallaMuokkaa