I Linux står GCC for GNU Compiler Collection . Det er et kompilatorsystem for de ulike programmeringsspråkene. Den brukes hovedsakelig til å kompilere C- og C++-programmene. Det tar navnet på kildeprogrammet som et nødvendig argument; rest-argumenter er valgfrie, for eksempel feilsøking, advarsel, objektfil og kobling av biblioteker.
GCC er en kjernekomponent i GNU-verktøykjeden. Ulike åpen kildekode-prosjekter er kompilert ved hjelp av GCC, for eksempel Linux-kjernen og GNU-verktøy.
Den distribueres under GPL (General Public License). Den første versjonen, GCC 1.0 , ble utgitt i 1987. Det var bare for programmeringsspråket C, men samme år ble det utvidet for C++ programmeringsspråk . Senere ble det utviklet for andre programmeringsspråk som Objective-C, Objective-C++, Fortran, Java , Ada, Go og mer. Den siste versjonen har den mye forbedrede implementeringen av programmeringsspråkene.
Det er den offisielle partneren til GNU OS; derfor har den blitt tatt i bruk som standard kompilator for Linux-baserte systemer.
img css align
Komponenter av GCC
GCC er et bærbart verktøy, og det kan kjøres på mange operativsystemer. Den kan også porteres til Windows ved å bruke noen verktøy som f.eks Cygwin, MinGW og MinGW-W64 . Siden det er en nøkkelkomponent i GNU-verktøykjeden, inneholder den følgende komponenter for utvikling av applikasjoner og operativsystemer:
GNU Compiler Collection (GCC): Det er en kompilatorsuite for mange språk, for eksempel C/C++ og Objective-C/C++.
GNU-merke: Det er et automatiseringsverktøy som brukes til å kompilere og bygge applikasjoner.
GNU Binutils: Det er en suite som inneholder binære verktøy som f.eks linker og montør .
GNU Debugger (GDB). Den brukes til å feilsøke applikasjonene.
GNU Autotools: Det er et byggesystem som inneholder noen hjelpeverktøy som Autoconf, Autoheader, Automake og Libtool.
GNU Bison: Det er en parsergenerator som lex og yacc.
GCC-kompilatorprosess
GCC kompilerer og gjør kjørbart et program i følgende fire trinn:
Forbehandling: I dette trinnet oppretter GNU-forbehandleren (cpp.exe) en mellomfil med kildekoden. Forbehandleren inkluderer overskriftene (#include) og utvider makroene (#define). Tenk på kommandoen nedenfor:
cpp hello.c > hello.i
Kommandoen ovenfor vil opprette en mellomfil 'hello.i.'
Samling: I dette trinnet blir den forhåndsbehandlede kildekoden kompilert til monteringskode for en spesifikk prosessor.
gcc -S hello.i
Kommandoen ovenfor vil opprette en monteringsfil 'hello.s.' Alternativet '-s' brukes til å spesifisere det for å produsere monteringskoden i stedet for objektkode.
Montering: Monteringskoden konverteres til maskinkode. Det vil opprette en objektfil 'hello.o.'
as -o hello.o hello.s
Linker: Linkeren (ld.exe) er det siste trinnet i kompilatorprosessen. Den kobler objektkoden med bibliotekkoden og produserer en kjørbar fil.
ld -o hello.exe hello.o
Kommandoen ovenfor vil opprette en kjørbar fil 'hello.exe.'
Installasjon av GCC på Linux
Som standard kommer den med de fleste Linux-distribusjoner. Vi kan bekrefte det ved å utføre kommandoen nedenfor:
gcc -version
Kommandoen ovenfor viser den installerte versjonen av GCC-verktøyet. Hvis den ikke er installert, følg trinnene nedenfor for å installere den:
Trinn 1: Oppdater pakkelisten.
For å oppdatere pakkelisten, kjør følgende kommando:
sudo apt update
Den vil be om systemadministratorpassordet, skriv inn passordet. Det vil begynne å oppdatere systempakken. Vurder utdatabildet nedenfor:
Trinn 2: Installer build-essential-pakken.
Den inneholder forskjellige pakker som gcc, g++ og make utility. Utfør kommandoen nedenfor for å installere den:
sudo apt install build-essential
Kommandoen ovenfor vil installere de nødvendige pakkene for GCC-verktøyet. Nå kan vi bruke GCC-verktøyet i maskinen vår. Vurder utdatabildet nedenfor:
sammenligne med java
Trinn 3: Bekreft installasjonen.
For å bekrefte installasjonen, kjør kommandoen gcc -version som følger:
gcc --version
Den vil vise den installerte versjonen av GCC-verktøyet. For å vise mer spesifikke detaljer om versjonen, bruk '-v'-alternativet. Tenk på utgangen nedenfor:
Her har vi installert GCC-verktøyet. La oss forstå å bruke det. Vi vil lage og kjøre noen c-programmer ved hjelp av GCC.
Kjør første C-program av gcc
Lag en grunnleggende c programmet 'Hei Verden!'. Opprett en fil 'hello.c' og legg inn koden nedenfor i den:
#include int main() { printf('Hello, world! '); return 0; }
Nå, kompiler hello.c som følger:
gcc hello.c
Hvis vi kjører hello.c direkte, vil det gi feilen. Gjør den kjørbar, standard kjørbar fil for Linux-systemet er a.out. For å kjøre filen, kjør chmod-kommandoen som følger:
chmod a+x a.out
Kjør nå c-programmet som:
./a.out
Tenk på utgangen nedenfor:
Eksempler på GCC-kommandoer
Noen nyttige eksempler på gcc-kommandoen er som følger:
Som standard oppretter gcc-kommandoen objektfilen som 'a.ut .' Hvis du vil endre standard utdatafilnavn, bruk '-O' alternativ.
La oss utføre den grunnleggende gcc-kommandoen:
gcc hello.c
Kommandoen ovenfor vil generere objektfilen 'a.out.' For å spesifisere objektfilnavnet, utfør kommandoen som følger:
gcc hello.c -o hello
Den vil generere utdatafilen 'hei'. Tenk på utgangen nedenfor:
For å aktivere alle advarsler i utgangen, bruk '-Vegg' alternativet med gcc-kommandoen. La oss lage en variabel i hovedfunksjonen til hello.c. Tenk på koden nedenfor:
Hei C:
#include int main() { int a; printf('Hello, world! '); return 0; }
Hvis vi kompilerer koden ovenfor ved å bruke -Wall-alternativet. Det vil kaste advarslene. Utfør kommandoen nedenfor for å kompilere filen:
gcc -wall hello.c
Kommandoen ovenfor vil vise advarslene. Tenk på utgangen nedenfor:
Vi kan bare produsere trinnvise utdata fra kompileringsprosessen.
Produser forprosessorutgangen
Vi kan kun produsere forprosessen ved å bruke '-E'-alternativet. Tenk på kommandoen nedenfor:
gcc -E hello.c > hello.i
Fra kommandoen ovenfor, en fil 'Hei jeg' som inneholder forhåndsbehandlet utdata genereres. Tenk på utgangen nedenfor:
Lag monteringskoden
For å produsere monteringskoden, utfør kommandoen med alternativet '-S'. Tenk på kommandoen nedenfor:
gcc -S hello.c > hello.s
Kommandoen ovenfor vil generere 'hello.s.' fil som inneholder monteringskoden. Tenk på utgangen nedenfor:
Lag den kompilerte koden
10 av 1 million
Vi kan bare produsere den kompilerte koden ved å bruke alternativet '-C'. Tenk på kommandoen nedenfor:
gcc -C hello.c
Kommandoen ovenfor vil generere en fil 'a.out', som bare har maskinkoden eller den kompilerte koden. Tenk på utgangen nedenfor:
Produser alle mellomfilene i kompileringsprosessen
Vi kan produsere alle mellomfilene i kompileringsprosessen ved å bruke '-save-temp'-alternativet. Tenk på utgangen nedenfor:
gcc -save-temps hello.c
Kommandoen ovenfor vil generere alle mellomfilene så vel som kjørbare filer på en gang. Tenk på utgangen nedenfor:
Vi kan vise detaljert informasjon om hvert trinn tatt av gcc-kommandoen. For å gjøre det, utfør kommandoen med alternativet '-v'.
gcc -W -v hello.c
Vurder utdatabildet nedenfor:
Vi har diskutert noen mest nyttige eksempler på gcc-kommandoen. Siden gcc-kommandoen forenkler med et stort antall alternativer, kan du bli sittende fast hvor som helst mens du bruker den. La oss se hvordan du kan få hjelp selv fra terminalen.
GCC manual
Hvis du blir sittende fast hvor som helst mens du bruker gcc-kommandoen, kan du ta hjelp fra terminalen din. For å få tilgang til håndboken fra kommandolinjen, utfør man-kommandoen som følger:
man gcc
Kommandoen ovenfor vil vise håndboken som inneholder en beskrivelse og liste over de støttede alternativene med en kort beskrivelse. Vurder utdatabildet nedenfor:
du kan bla i utgangen for å lese mer. Trykk 'h'-tasten for hjelp og q for å gå ut av manualen og tilbake til terminalen.