logo

GCC Linux

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:

GCC Linux

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:

GCC Linux

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
GCC Linux

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:

GCC Linux

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:

GCC Linux

Eksempler på GCC-kommandoer

Nogle nyttige eksempler på gcc-kommando er som følger:

    Angiv objektfilnavnet

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:

GCC Linux
    Aktiver alle advarsler

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:

GCC Linux
    Fremstil det trinvise output af kompileringsprocessen

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:

GCC Linux

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:

GCC Linux

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:

GCC Linux

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:

GCC Linux
    Udskriv outputtet ordlyd.

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:

GCC Linux

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:

GCC Linux

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.