GCC

Fra Wikipedia, den frie encyklopedi

Gå til: navigasjon, søk
GCC «GNU Compiler Collection»
GCC «GNU Compiler Collection»
Utvikler GNU-prosjektet
Nyeste versjon 4.4.0/ 21. april 2009
Operativsystem UNIX og Unix-liknende
Sjanger Kompilator
Lisens GPL
Nettside gcc.gnu.org

GCC er en samling kompilatorer for en rekke forskjellige programmeringsspråk. GCC er en del av GNU-prosjektet. GCC står i dag for «GNU Compiler Collection», men stod opprinnelig for «GNU C Compiler» og var en kompilator for programmeringsspråket C. Det er fri programvare som distribueres av Free Software Foundation under GNU General Public License og GNU Lesser General Public License og er en nøkkelkomponent blant GNU-verktøykjeden. Det er standard-kompilatoren for fri programvare unix-like operativsystemer, slik som Linux, men også for Apples Mac OS X.

GCC 1.0 ble opprinnelig sluppet i 1987 og kompilatoren ble utvidet til å kompilere C++ i desember i det samme året.[1] Senere har det blitt utviklet grensesnitt for blant andre Fortran, Pascal, Objective-C, Java, og Ada.[2]

Innhold

[rediger] Programmeringsspråk

GCC versjon 4.3 inneholder støtte for C, C++ (G++), Java (GCJ), Ada (GNAT), Objective-C, Objective-C++ og Fortran-95 (GFortran). Det er også tilgjengelig støtte for Modula-2, Modula-3, Pascal, PL/I, D, Mercury, VHDL gjennom utvidelser.

[rediger] Litteratur

[rediger] Arkitekturer

GCC versjon 4.1 kan kompilere kode for å kjøre på følgende prosessorer:

Mindre kjente prosessorer som også har blitt støttet i standard utgaven har inkludert:

I tillegg har følgende prosessorer vært støttet av GCC versjoner som har blitt vedlikeholdt separat fra FSF versjonen:

[rediger] Historikk

[rediger] GNU C Compiler

GCC var opprinnelig navnet på GNU C kompilatoren. Det er en fri C kompilator, med åpen kildekode, for UNIX og Unix-liknende systemer.

De første GNU C kompilatorene fulgte de facto standardene, som ble definert av Kernighan & Richie, sammen med GNUs egne utvidelser.

Idag følger GNU C standard-biblioteket GNU GLibc alle relevante standarder: ISO C99, POSIX.1c, POSIX.1j, POSIX.1d, UNIX-98 og the Single UNIX Specification. GNU C har også et av de mest komplette grensesnitt for internasjonalisering.

GNU C++ følger standardene ANSI C++ 2.1, ISO C++ 1998 standarden, og har også eksperimentell støtte for den kommende ISO C++ 0x standarden, gjennom standardbiblioteket GNU Libstdc++, som ble integrert i GNU Compiler Collection i versjon 3.1.

Versjon Lansert Versjon Lansert
De første GNU C (GCC) og C++ kompilatorene – Kernighan & Richie standarden
GCC 0.9
Første beta-utgave
22. mars 1987 GCC 1.38 21. desember 1990
GCC 1.0 23. mai 1987 GCC 1.39 16. januar 1991
GCC 1.1 24. mai 1987 GCC 1.39.1
G++ (C++ kompilator)
4. mai 1991
GCC 1.2 1. juni 1987 GCC 1.40 1. juni 1991
GCC 1.3 10. juni 1987 GCC 1.40.3
G++ (C++ kompilator)
19. oktober 1991
GCC 1.4 13. juni 1987 GCC 1.41.0
G++ (C++ kompilator)
13. juli 1992
GCC 1.5 18. juni 1987 GCC 1.41 27. august 1992
GCC 1.6 2. juli 1987 GCC 1.42 20. september 1992
GCC 1.7 21. juli 1987 GCC 1.42.0
G++ (C++ kompilator)
20. september 1992
GCC 1.8 10. august 1987 GCC 2.0 22. februar 1992
GCC 1.9 18. august 1987 GCC 2.1 24. mars 1992
GCC 1.10 22. august 1987 GCC 2.2 8. juni 1992
GCC 1.11 5. september 1987 GCC 2.2.1 9. juni 1992
GCC 1.12 3. oktober 1987 GCC 2.2.2 14. juni 1992
GCC 1.13 12. oktober 1987 GCC 2.3 31. oktober 1992
GCC 1.14 6. november 1987 GCC 2.3.1 1. november 1992
GCC 1.15 28. november 1987 GCC 2.3.2 27. november 1992
GCC 1.15.3
G++ (C++ kompilator)
18. desember 1987 GCC 2.3.3 26. desember 1992
GCC 1.16 19. desember 1987 GCC 2.4.0 17. mai 1993
GCC 1.17 9. januar 1988 GCC 2.4.1 26. mai 1993
GCC 1.18 4. februar 1988 GCC 2.4.2 31. mai 1993
GCC 1.19 29. mars 1988 GCC 2.4.3 1. juni 1993
GCC 1.20 19. april 1988 GCC 2.4.4 19. juni 1993
GCC 1.21 1. mai 1988 GCC 2.4.5 20. juni 1993
GCC 1.22 22. mai 1988 GCC 2.5.0 22. oktober 1993
GCC 1.23 26. juni 1988 GCC 2.5.1 31. oktober 1993
GCC 1.24 2. juli 1988 GCC 2.5.2 1. november 1993
GCC 1.25 3. august 1988 GCC 2.5.3 11. november 1993
GCC 1.26 18. august 1988 GCC 2.5.4 16. november 1993
GCC 1.27 5. september 1988 GCC 2.5.5 27. november 1993
GCC 1.28 14. september 1988 GCC 2.5.6 3. desember 1993
GCC 1.29 6. oktober 1988 GCC 2.5.7 12. desember 1993
GCC 1.30 13. oktober 1988 GCC 2.5.8 24. januar 1994
GCC 1.31 19. november 1988 GCC 2.6.0 14. juli 1994
GCC 1.32 21. desember 1988 GCC 2.6.1 1. november 1994
GCC 1.33 1. februar 1989 GCC 2.6.2 12. november 1994
GCC 1.34 23. februar 1989 GCC 2.6.3 30. november 1994
GCC 1.35 26. april 1989 GCC 2.7.0 16. juni 1995
GCC 1.36 24. september 1989 GCC 2.7.1 12. november 1995
GCC 1.36.3
G++ (C++ kompilator)
16. januar 1990 GCC 2.7.2 26. november 1995
GCC 1.36.4
G++ (C++ kompilator)
30. januar 1990 GCC 2.7.2.1 29. juni 1996
GCC 1.37 11. februar 1990 GCC 2.7.2.2 29. januar 1997
GCC 1.37.1 21. februar 1990 GCC 2.7.2.3 22. august 1997
GCC 1.37.0
G++ (C++ kompilator)
28. februar 1990 GCC 2.8.0 7. januar 1998
GCC 1.37.1
G++ (C++ kompilator)
1. mars 1990 GCC 2.8.1 2. mars 1998

[rediger] EGCS (Enhanced GNU Compiler Systems)

EGCS (Enhanced GNU Compiler Systems) var et samarbeidsprosjekt for å påskynde utviklingen av GNU kompilatorer. Viktige målsetninger var:

  • Støtte for nye mikroprosessorer og operativsystemer
  • Portabilitet til Microsoft ® Windows™ 32-bit operativsystemer
  • Større samsvar mellom GNU implementasjonen av C og C++ og standardene ISO C99 og ANSI C++ 2.1
  • Større optimalisering
  • Forbedret debugging

EGCS bestod av fire kompilatorer:

Versjon Lansert Merknader
Versjonene av GNU C i de ulike versjonene av EGCS
EGCS 1.0 3. desember 1997 GCC 2.90.21
EGCS 1.0.1 6. januar 1998 GCC 2.90.23
EGCS 1.0.2 16. mars 1998 GCC 2.90.27
EGCS 1.0.3 15. mai 1998 GCC 2.90.29
EGCS 1.1 3. september 1998 GCC 2.91.57
EGCS 1.1.1 1. desember 1998 GCC 2.91.60
EGCS 1.1.2 15. mars 1999 GCC 2.91.66

[rediger] GNU Compiler Collection (GCC)

I april 1999 ble styrings-komitéen til EGCS utnevnt av Free Software Foundation som den offisielle vedlikeholder av GCC. Samtidig ble GCC omdøpt fra å være en forkortelse for «GNU C Compiler» til å bli en forkortelse for «GNU Compiler Collection».

Kompilatorene ble etter dette også portable til Microsoft Windows™ 64-bit operativsystemer.

GCC 2.95 bestod av følgende kompilatorer:

GNU CHILL ble fjernet fra GCC versjon 3.0, og mange Linux-distribusjoner, deriblant Red Hat Fedora og Mandriva Linux, begynte å levere GCC 2.95, i tillegg til senere versjoner av GCC, for å gi brukerne tilgang til programmeringsspråket CHILL.

GCC 3.1 tilføyde GNU Ada-95. I GCC 4.0 ble GNU Fortran-77 kompilatoren erstattet av en mer oppdatert versjon som fulgte Fortran-95 standarden. GCC 4.1 tilføyde det nye programmeringsspråket GNU Objekt C++.

[rediger] GCC 2.95

Versjon Lansert Merknader
GCC 2.95 31. juli 1999
GCC 2.95.1 19. august 1999
GCC 2.95.2 27. oktober 1999
GCC 2.95.2.1 10. desember 2000
GCC 2.95.3 16. mars 2001

[rediger] GCC 3.0

Versjon Lansert Merknader
GCC 3.0 18. juni 2001
GCC 3.0.1 20. august 2001
GCC 3.0.2 25. oktober 2001
GCC 3.0.3 20. desember 2001
GCC 3.0.4 21. februar 2002

[rediger] GCC 3.1

I GCC 3.1 opphørte støtten for følgende mikroprosessorer:

Versjon Lansert Merknader
GCC 3.1 15. mai 2002 Tilføyde GNU Ada-95
GCC 3.1.1 26. juli 2002

[rediger] GCC 3.2

Versjon Lansert Merknader
GCC 3.2 14. august 2002
GCC 3.2.1 21. november 2002
GCC 3.2.2 5. februar 2003
GCC 3.2.3 25. april 2003

[rediger] GCC 3.3

I GCC 3.3 opphørte støtten for følgende mikroprosessorer:

Versjon Lansert Merknader
GCC 3.3 14. mai 2003
GCC 3.3.1 8. august 2003
GCC 3.3.2 16. oktober 2003
GCC 3.3.3 14. februar 2004
GCC 3.3.4 31. mai 2004
GCC 3.3.5 30. september 2004
GCC 3.3.6 3. mai 2005

[rediger] GCC 3.4

I GCC 3.4 opphørte støtten for følgende mikroprosessorer:

Versjon Lansert Merknader
GCC 3.4 20. april 2004
GCC 3.4.1 1. juli 2004
GCC 3.4.2 6. september 2004
GCC 3.4.3 5. november 2004
GCC 3.4.4 19. mai 2005
GCC 3.4.5 30. november 2005
GCC 3.4.6 6. mars 2006

[rediger] GCC 4.0

I GCC 4.0 fikk alle programmeringsspråkene en felles parser eller syntaktisk analysator, kalt tree SSA (Static Single Assignment). [3] Kode fra ulike språk konverteres til en felles form kalt Generic, og deretter til en GIMPLE-parser (en fri utgave av SIMPLE fra the McCat project ved McGill University), og deretter optimalisert gjennom RTL-optimalisering. Dette gjorde C++ koden 25 % raskere.

  • Fortran-77 erstattet av Fortran-95
  • Ada-kompilatoren uvidet med deler av Ada-2005 standarden
  • Generering av raskere C++ kode (25 % raskere enn versjon 3.4 uten optimalisering).
  • Støtte for NEC VR4130 serien (MIPS) og MIPS-3D ASE instruksjonssett.
  • Utvidet støtte for Sun's Visual Instruction Set (VIS) på UltraSPARC.

Mikroprosessorer som ikke lenger ble støttet:

I GCC 4.0 opphørte også støtten for SPARClite baserte systemer og 32-bit OpenBSD på SPARC.

Versjon Lansert Merknader
GCC 4.0 21. april 2005
GCC 4.0.1 7. juli 2005 203 feilrettinger
GCC 4.0.2 18. september 2005 223 feilrettinger
GCC 4.0.3 10. mars 2006 Feilrettinger
GCC 4.0.4 31. januar 2007 139 feilrettinger

[rediger] GCC 4.1

Versjon Lansert Merknader
GCC 4.1 28. februar 2006
GCC 4.1.1 24. mai 2006
GCC 4.1.2 13. februar 2007

[rediger] GCC 4.2

Versjon Lansert Merknader
GCC 4.2 13. mai 2007
GCC 4.2.1 18. juli 2007
GCC 4.2.2 7. oktober 2007
GCC 4.2.3 1. februar 2008
GCC 4.2.4 19. mai 2008

[rediger] GCC 4.3

Versjon Lansert Merknader
GCC 4.3 5. mars 2008
GCC 4.3.1 6. juni 2008 108 feilrettinger
GCC 4.3.2 27. august 2008 81 feilrettinger
GCC 4.3.3 24. januar 2009 62 feilrettinger

[rediger] GCC 4.4

Versjon Lansert Merknader
GCC 4.4 21. april 2009

[rediger] Referanser

  1. ^ GCC Releases. GNU Project. Besøkt 24. april 2009(2009-04-24 ).
  2. ^ Programming Languages Supported by GCC. GNU Project. Besøkt 24. april 2009(2009-04-24 ).
  3. ^ Proceedings of the 2003 GCC Developers Summit (sidene 171-193)

[rediger] Se også

Personlige verktøy
Opprett en bok