program execution |
---|
general concepts |
types of code |
compilation strategies |
Notable runtimes |
|
Notable compilers & toolchains |
|
GNU Compiler Collection (tsz. GNU Compiler Collections)
A GCC (GNU Compiler Collection) egy nyílt forráskódú fordítóprogram-gyűjtemény, amelyet a GNU Projekt fejleszt és tart karban. A GCC az egyik legelterjedtebb fordító a világon, mivel számos programozási nyelvet támogat, és különböző operációs rendszereken is futtatható. Elsődlegesen a C és C++ nyelvek fordítására használják, de támogat más nyelveket is, például a Fortrant, az Ada-t, a Go-t és a Rustot is.
A GCC-t eredetileg Richard Stallman és a GNU Projekt fejlesztette ki 1987-ben, és azóta folyamatosan bővül és fejlődik. Az első verzió még csak a C nyelvet támogatta, de később újabb nyelvekkel is kibővült. A GCC kulcsszerepet játszik a szabad szoftveres ökoszisztémában, mivel ez az egyik fő fordítója a Linux operációs rendszerhez és más nyílt forráskódú projektekhez.
A GNU Compiler Collection a nyílt forráskódú közösség egyik alapvető eszköze lett, és sok programozó, fejlesztő, valamint egyetem használja a világ minden táján. Az évek során a GCC egyre hatékonyabbá és gyorsabbá vált, miközben újabb optimalizációs technikákat és új nyelveket építettek be.
A GCC egy fordító, amely több lépésben alakítja át a magas szintű forráskódot gépi kóddá:
#include
, #define
és más előfeldolgozási direktívák feldolgozása történik meg.A fordítási folyamatot a fejlesztők paraméterezhetik különböző kapcsolókkal, például optimalizációk bekapcsolásával (-O1
, -O2
, -O3
), figyelmeztetések aktiválásával (-Wall
, -Wextra
), vagy a célplatform specifikálásával (-march=native
).
A GCC-t a parancssorból lehet futtatni, és az egyik legegyszerűbb módja egy C forráskód lefordításának a következő:
gcc program.c -o program
Ez a parancs lefordítja a program.c
fájlt, és egy végrehajtható program
nevű binárist hoz létre. Ha a program több fájlból áll, akkor azokat is megadhatjuk:
gcc main.c functions.c -o my_program
Ha C++ nyelvű programot akarunk fordítani, akkor a g++
parancsot használhatjuk:
g++ program.cpp -o program
A GCC számos opcióval rendelkezik, amelyeket a fejlesztők a fordítás során használhatnak:
-O0
: Nincs optimalizáció (alapértelmezett)-O1
: Alap optimalizáció-O2
: További optimalizációk-O3
: Maximális optimalizáció-Os
: Méretre optimalizálás (a végrehajtható fájl kisebb lesz)-Wall
: Alapvető figyelmeztetések bekapcsolása-Wextra
: Extra figyelmeztetések-pedantic
: Szabványkövető figyelmeztetések-g
: Hibakeresési információk beépítése-march=native
: Az adott processzorhoz optimalizált kód generálása-mtune=generic
: Általános, több processzoron is jól futó kód készítése
A GCC-t széles körben használják, mert számos előnnyel rendelkezik:
A GCC az egyik legnépszerűbb fordító, de vannak más alternatívák is:
Mindegyik fordítónak megvannak az előnyei és hátrányai, de a GCC különösen előnyös, ha nyílt forráskódú, többplatformos fejlesztésről van szó.
Bár a GCC önállóan is használható, sok fejlesztő grafikus fejlesztői környezetben (IDE) alkalmazza:
A GCC egy rendkívül erős és rugalmas fordító, amelyet sok fejlesztő használ világszerte. A nyílt forráskódú közösség egyik legfontosabb eszköze, és nélkülözhetetlen a Linux és más operációs rendszerek fejlesztésében. Akár kezdő, akár haladó programozó vagy, a GCC egy hasznos és megbízható eszköz a C és C++ fejlesztéshez.