In Linux staat de GCC voor GNU Compiler-collectie . Het is een compilersysteem voor de verschillende programmeertalen. Het wordt voornamelijk gebruikt om de C- en C++-programma's te compileren. Het neemt de naam van het bronprogramma als noodzakelijk argument; rest-argumenten zijn optioneel, zoals foutopsporing, waarschuwing, objectbestand en koppeling van bibliotheken.
GCC is een kerncomponent van de GNU-toolchain. Met behulp van de GCC worden verschillende open-sourceprojecten samengesteld, zoals de Linux-kernel en GNU-tools.
Het wordt gedistribueerd onder de GPL (General Public License). De eerste versie, GCC 1.0 , werd uitgebracht in 1987. Het was alleen voor de programmeertaal C, maar in hetzelfde jaar werd het uitgebreid voor de C++ programmeertaal . Later werd het ontwikkeld voor andere programmeertalen zoals Objective-C, Objective-C++, Fortran, Java , Ada, Go en meer. De nieuwste versie heeft de sterk verbeterde implementatie van de programmeertalen.
Het is de officiële partner van GNU OS; daarom is het aangenomen als de standaard compiler van de op Linux gebaseerde systemen.
is eiwitvet
Onderdelen van GCC
GCC is een draagbare tool en kan op veel besturingssystemen worden uitgevoerd. Het kan ook worden geporteerd naar ramen door een aantal hulpmiddelen te gebruiken, zoals Cygwin, MinGW en MinGW-W64 . Omdat het een sleutelcomponent is van de GNU-toolchain, bevat het de volgende componenten voor het ontwikkelen van applicaties en besturingssystemen:
GNU Compiler-collectie (GCC): Het is een compilersuite voor veel talen, zoals C/C++ en Objective-C/C++.
GNU-merk: Het is een automatiseringstool die wordt gebruikt voor het compileren en bouwen van applicaties.
GNU Binutils: Het is een suite die binaire hulpprogramma's bevat, zoals koppelaar En assembler .
GNU-foutopsporing (GDB). Het wordt gebruikt om de applicaties te debuggen.
GNU Autotools: Het is een bouwsysteem dat enkele hulpprogramma's bevat, zoals Autoconf, Autoheader, Automake en Libtool.
GNU Bizon: Het is een parsergenerator als lex en yacc.
GCC-compilerproces
De GCC compileert en maakt een programma uitvoerbaar in de volgende vier stappen:
Voorverwerking: In deze stap maakt de GNU-preprocessor (cpp.exe) een tussenbestand met de broncode. De preprocessor bevat de headers (#include) en breidt de macro's uit (#define). Overweeg het onderstaande commando:
cpp hello.c > hello.i
Met de bovenstaande opdracht wordt een tussenbestand 'hello.i.' gemaakt.
Compilatie: In deze stap wordt de voorbewerkte broncode gecompileerd tot assemblagecode voor een specifieke processor.
gcc -S hello.i
Met de bovenstaande opdracht wordt een assemblagebestand 'hello.s.' gemaakt. De optie '-s' wordt gebruikt om aan te geven dat de assemblagecode moet worden geproduceerd in plaats van de objectcode.
Montage: De assemblagecode wordt omgezet in machinecode. Er wordt een objectbestand 'hello.o.' gemaakt.
as -o hello.o hello.s
Linker: De Linker (ld.exe) is de laatste stap van het compileerproces. Het koppelt de objectcode aan de bibliotheekcode en produceert een uitvoerbaar bestand.
ld -o hello.exe hello.o
Met de bovenstaande opdracht wordt een uitvoerbaar bestand 'hello.exe' gemaakt.
Installatie van GCC op Linux
Standaard wordt het geleverd met de meeste Linux-distributies. We kunnen het verifiëren door de onderstaande opdracht uit te voeren:
gcc -version
Met de bovenstaande opdracht wordt de geïnstalleerde versie van de GCC-tool weergegeven. Als het niet is geïnstalleerd, volgt u de onderstaande stappen om het te installeren:
Stap 1: Update de pakketlijst.
Om de pakketlijst bij te werken, voert u de volgende opdracht uit:
sudo apt update
Er wordt om het beheerderswachtwoord van het systeem gevraagd. Voer het wachtwoord in. Het systeempakket wordt bijgewerkt. Beschouw de onderstaande uitvoermodule:
Stap 2: Installeer het build-essential-pakket.
Het bevat verschillende pakketten zoals gcc, g++ en make utility. Voer de onderstaande opdracht uit om het te installeren:
sudo apt install build-essential
Met de bovenstaande opdracht worden de vereiste pakketten voor het GCC-hulpprogramma geïnstalleerd. Nu kunnen we het GCC-hulpprogramma op onze machine gebruiken. Beschouw de onderstaande uitvoermodule:
Stap 3: Controleer de installatie.
Om de installatie te verifiëren, voert u de opdracht gcc -version als volgt uit:
gcc --version
Het toont de geïnstalleerde versie van het GCC-hulpprogramma. Om meer specifieke details over de versie weer te geven, gebruikt u de optie '-v'. Beschouw de onderstaande uitvoer:
Hier hebben we met succes het GCC-hulpprogramma geïnstalleerd. Laten we begrijpen dat we het moeten gebruiken. We zullen enkele c-programma's maken en uitvoeren met behulp van GCC.
Voer het eerste C-programma uit met gcc
Creëer een basis c-programma 'Hallo Wereld!'. Maak een bestand 'hello.c' en plaats onderstaande code erin:
statisch trefwoord in Java
#include int main() { printf('Hello, world! '); return 0; }
Compileer nu hello.c als volgt:
gcc hello.c
Als we hello.c rechtstreeks uitvoeren, wordt de fout gegenereerd. Maak het uitvoerbaar. Het standaard uitvoerbare bestand voor het Linux-systeem is a.out. Om het bestand uit te voeren, voert u de opdracht chmod als volgt uit:
chmod a+x a.out
Voer nu het c-programma uit als:
./a.out
Beschouw de onderstaande uitvoer:
GCC-opdrachtvoorbeelden
Enkele nuttige voorbeelden van de gcc-opdracht zijn als volgt:
Standaard maakt de gcc-opdracht het objectbestand aan als 'a.uit .' Als u de standaarduitvoerbestandsnaam wilt wijzigen, gebruikt u de '-O' keuze.
Laten we het basis gcc-commando uitvoeren:
gcc hello.c
De bovenstaande opdracht genereert het objectbestand 'a.out.' Om de objectbestandsnaam op te geven, voert u de opdracht als volgt uit:
gcc hello.c -o hello
Het genereert het uitvoerbestand 'hallo.' Beschouw de onderstaande uitvoer:
Om alle waarschuwingen in de uitvoer in te schakelen, gebruikt u de '-Muur' optie met het gcc-commando. Laten we een variabele maken in de hoofdfunctie van hello.c. Beschouw de onderstaande code:
hallo.c:
#include int main() { int a; printf('Hello, world! '); return 0; }
Als we de bovenstaande code compileren met de optie -Wall. Het zal de waarschuwingen geven. Voer de onderstaande opdracht uit om het bestand te compileren:
gcc -wall hello.c
Met het bovenstaande commando worden de waarschuwingen weergegeven. Beschouw de onderstaande uitvoer:
We kunnen alleen de stapsgewijze uitvoer van het compilatieproces produceren.
Produceer de preprocessoruitvoer
We kunnen alleen de voorprocesuitvoer produceren door de optie '-E' te gebruiken. Overweeg het onderstaande commando:
gcc -E hello.c > hello.i
Van het bovenstaande commando, een file 'Hallo ik' dat voorverwerkte uitvoer bevat, wordt gegenereerd. Beschouw de onderstaande uitvoer:
Produceer de assemblagecode
Om de assemblagecode te produceren, voert u de opdracht uit met de optie '-S'. Overweeg het onderstaande commando:
gcc -S hello.c > hello.s
Het bovenstaande commando genereert de 'hello.s.' bestand dat de assemblagecode bevat. Beschouw de onderstaande uitvoer:
Produceer de gecompileerde code
adder vol
We kunnen alleen de gecompileerde code produceren door de optie '-C' te gebruiken. Overweeg het onderstaande commando:
gcc -C hello.c
De bovenstaande opdracht genereert een bestand 'a.out', met alleen de machinecode of gecompileerde code. Beschouw de onderstaande uitvoer:
Produceer alle tussenbestanden van het compilatieproces
We kunnen alle tussenbestanden van het compilatieproces produceren door de optie '-save-temp' te gebruiken. Beschouw de onderstaande uitvoer:
gcc -save-temps hello.c
Met de bovenstaande opdracht worden alle tussenliggende bestanden en uitvoerbare bestanden in één keer gegenereerd. Beschouw de onderstaande uitvoer:
We kunnen uitgebreide informatie weergeven over elke stap die met de gcc-opdracht wordt gezet. Om dit te doen, voert u het commando uit met de optie '-v'.
gcc -W -v hello.c
Beschouw de onderstaande uitvoermodule:
We hebben enkele nuttigste voorbeelden van het gcc-commando besproken. Omdat de gcc-opdracht een groot aantal opties biedt, kun je overal vastlopen tijdens het gebruik ervan. Laten we eens kijken hoe u zelf hulp kunt krijgen vanaf de terminal.
GCC-handleiding
Als u ergens vastloopt tijdens het gebruik van de gcc-opdracht, kunt u hulp krijgen van uw terminal. Om toegang te krijgen tot de handleiding vanaf de opdrachtregel, voert u het man-commando als volgt uit:
man gcc
Met de bovenstaande opdracht wordt de handleiding weergegeven met een beschrijving en een lijst van de ondersteunde opties met een korte beschrijving. Beschouw de onderstaande uitvoermodule:
u kunt door de uitvoer scrollen om meer te lezen. Druk op de 'h'-toets voor hulp en op q om de handleiding te verlaten en terug te keren naar de terminal.