I Linux står GCC for GNU Compiler Collection . Det er et compilersystem til de forskellige programmeringssprog. Det bruges hovedsageligt til at kompilere C- og C++-programmerne. Det tager navnet på kildeprogrammet som et nødvendigt argument; rest-argumenter er valgfrie såsom debugging, advarsel, objektfil og sammenkædning af biblioteker.
GCC er en kernekomponent i GNU-værktøjskæden. Forskellige open source-projekter kompileres ved hjælp af GCC, såsom Linux-kerne og GNU-værktøjer.
Den distribueres under GPL (General Public License). Den første version, GCC 1.0 , blev udgivet i 1987. Det var kun til programmeringssproget C, men samme år blev det udvidet til C++ programmeringssprog . Senere blev det udviklet til andre programmeringssprog såsom Objective-C, Objective-C++, Fortran, Java , Ada, Go og mere. Dens seneste version har den meget forbedrede implementering af programmeringssprogene.
Det er den officielle partner til GNU OS; derfor er det blevet vedtaget som standardkompileren af de Linux-baserede systemer.
matematiske metoder i java
Komponenter af GCC
GCC er et bærbart værktøj, og det kan køre på mange operativsystemer. Det kan også overføres til Windows ved at bruge nogle værktøjer som f.eks Cygwin, MinGW og MinGW-W64 . Da det er en nøglekomponent i GNU-værktøjskæden, indeholder det følgende komponenter til udvikling af applikationer og operativsystemer:
GNU Compiler Collection (GCC): Det er en compilersuite til mange sprog, såsom C/C++ og Objective-C/C++.
GNU mærke: Det er et automatiseringsværktøj, der bruges til at kompilere og bygge applikationer.
GNU Binutils: Det er en suite, der indeholder binære hjælpeværktøjer som f.eks linker og samler .
GNU Debugger (GDB). Det bruges til at fejlfinde applikationerne.
GNU Autotools: Det er et byggesystem, der indeholder nogle hjælpeværktøjer såsom Autoconf, Autoheader, Automake og Libtool.
GNU Bison: Det er en parser-generator som lex og yacc.
GCC-kompilerproces
GCC kompilerer og gør et program eksekverbart i de følgende fire trin:
Forbehandling: I dette trin opretter GNU-forprocessoren (cpp.exe) en mellemfil med kildekoden. Forprocessoren inkluderer overskrifterne (#include) og udvider makroerne (#define). Overvej nedenstående kommando:
cpp hello.c > hello.i
Ovenstående kommando vil oprette en mellemfil 'hello.i.'
Samling: I dette trin kompileres den forbehandlede kildekode til assembly-kode for en specifik processor.
gcc -S hello.i
Ovenstående kommando vil oprette en samlingsfil 'hello.s.' Muligheden '-s' bruges til at angive det for at producere assemblykoden i stedet for objektkoden.
Montage: Montagekoden konverteres til maskinkode. Det vil oprette en objektfil 'hello.o.'
as -o hello.o hello.s
Linker: Linkeren (ld.exe) er det sidste trin i compilerprocessen. Den forbinder objektkoden med bibliotekskoden og producerer en eksekverbar fil.
ld -o hello.exe hello.o
Ovenstående kommando vil oprette en eksekverbar fil 'hello.exe.'
Installation af GCC på Linux
Som standard leveres den med de fleste Linux-distributioner. Vi kan verificere det ved at udføre nedenstående kommando:
gcc -version
Ovenstående kommando viser den installerede version af GCC-værktøjet. Hvis det ikke er installeret, skal du følge nedenstående trin for at installere det:
Trin 1: Opdater pakkelisten.
For at opdatere pakkelisten skal du udføre følgende kommando:
sudo apt update
Den vil bede om den administrative adgangskode til systemet, indtast adgangskoden. Det vil begynde at opdatere systempakken. Overvej nedenstående snap af output:
Trin 2: Installer build-essential-pakken.
Den indeholder forskellige pakker såsom gcc, g++ og make utility. Udfør nedenstående kommando for at installere det:
sudo apt install build-essential
Ovenstående kommando vil installere de nødvendige pakker til GCC-værktøjet. Nu kan vi bruge GCC-værktøjet i vores maskine. Overvej nedenstående snap af output:
regexp_like i mysql
Trin 3: Bekræft installationen.
For at bekræfte installationen skal du udføre kommandoen gcc -version som følger:
gcc --version
Det vil vise den installerede version af GCC-værktøjet. For at få vist de mere specifikke detaljer om versionen, brug '-v' muligheden. Overvej nedenstående output:
Her har vi installeret GCC-værktøjet. Lad os forstå at bruge det. Vi vil oprette og udføre nogle c-programmer ved hjælp af GCC.
Kør det første C-program af gcc
Opret en grundlæggende c program 'Hej Verden!'. Opret en fil 'hello.c' og læg nedenstående kode i den:
#include int main() { printf('Hello, world! '); return 0; }
Kompiler nu hello.c som følger:
gcc hello.c
Hvis vi direkte kører hello.c, vil det kaste fejlen. Gør det eksekverbart, standard eksekverbare fil for Linux-systemet er a.out. For at udføre filen skal du udføre kommandoen chmod som følger:
chmod a+x a.out
Kør nu c-programmet som:
./a.out
Overvej nedenstående output:
Eksempler på GCC-kommandoer
Nogle nyttige eksempler på gcc-kommando er som følger:
Som standard opretter kommandoen gcc objektfilen som 'a.ud .' Hvis du vil ændre standardoutputfilnavnet, skal du bruge '-O' mulighed.
Lad os udføre den grundlæggende gcc-kommando:
gcc hello.c
Ovenstående kommando vil generere objektfilen 'a.out.' For at angive objektfilnavnet skal du udføre kommandoen som følger:
gcc hello.c -o hello
Det vil generere outputfilen 'hej.' Overvej nedenstående output:
For at aktivere alle advarsler i outputtet skal du bruge '-Væg' mulighed med gcc-kommandoen. Lad os oprette en variabel i hovedfunktionen af hello.c. Overvej nedenstående kode:
hej.c:
#include int main() { int a; printf('Hello, world! '); return 0; }
Hvis vi kompilerer ovenstående kode ved hjælp af -Wall option. Det vil kaste advarslerne. Udfør nedenstående kommando for at kompilere filen:
gcc -wall hello.c
Ovenstående kommando vil vise advarslerne. Overvej nedenstående output:
Vi kan kun producere det trinvise output af kompileringsprocessen.
Fremstil præprocessor-output
Vi kan kun producere forprocesoutputtet ved at bruge '-E'-indstillingen. Overvej nedenstående kommando:
gcc -E hello.c > hello.i
Fra ovenstående kommando, en fil 'Hej jeg' der indeholder forbehandlet output, genereres. Overvej nedenstående output:
Fremstil monteringskoden
For at producere assembly-koden skal du udføre kommandoen med '-S'-indstillingen. Overvej nedenstående kommando:
gcc -S hello.c > hello.s
Ovenstående kommando vil generere 'hello.s.' fil, der indeholder montagekoden. Overvej nedenstående output:
Fremstil den kompilerede kode
10 af 1 mio
Vi kan kun producere den kompilerede kode ved at bruge '-C' muligheden. Overvej nedenstående kommando:
gcc -C hello.c
Ovenstående kommando vil generere en fil 'a.out', der kun har maskinkoden eller den kompilerede kode. Overvej nedenstående output:
Fremstil alle de mellemliggende filer i kompileringsprocessen
Vi kan producere alle mellemfilerne i kompileringsprocessen ved at bruge '-save-temp' muligheden. Overvej nedenstående output:
gcc -save-temps hello.c
Ovenstående kommando vil generere alle mellemfilerne såvel som eksekverbare filer på én gang. Overvej nedenstående output:
Vi kan vise detaljerede oplysninger om hvert trin taget af gcc-kommandoen. For at gøre det skal du udføre kommandoen med muligheden '-v'.
gcc -W -v hello.c
Overvej nedenstående snap af output:
Vi har diskuteret nogle mest nyttige eksempler på kommandoen gcc. Da gcc-kommandoen letter med et stort antal muligheder, kan du sidde fast hvor som helst, mens du bruger den. Lad os se, hvordan du selv får hjælp fra terminalen.
GCC manual
Hvis du sidder fast hvor som helst, mens du bruger gcc-kommandoen, kan du få hjælp fra din terminal. For at få adgang til manualen fra kommandolinjen skal du udføre man-kommandoen som følger:
man gcc
Ovenstående kommando vil vise manualen, der indeholder en beskrivelse og liste over de understøttede muligheder med en kort beskrivelse. Overvej nedenstående snap af output:
du kan rulle udgangen for at læse mere. Tryk på 'h'-tasten for at få hjælp og q for at afslutte manualen og tilbage til terminalen.