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 11.1.0 compiling Chicken screenshot.png
Kehittäjä GNU-projekti
Kehityshistoria
Ensijulkaisu 23. toukokuuta 1987[1]
Vakaa versio 11.2 ()[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 11.2 Released. 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