logo

GCC Linux

I Linux står GCC för GNU Compiler Collection . Det är ett kompilatorsystem för de olika programmeringsspråken. Det används främst för att kompilera C- och C++-programmen. Det tar namnet på källprogrammet som ett nödvändigt argument; rest-argument är valfria såsom felsökning, varning, objektfil och länkande bibliotek.

GCC är en kärnkomponent i GNU-verktygskedjan. Olika projekt med öppen källkod kompileras med hjälp av GCC, såsom Linux-kärnan och GNU-verktyg.

Den distribueras under GPL (General Public License). Den första versionen, GCC 1.0 , släpptes 1987. Det var bara för programmeringsspråket C, men samma år förlängdes det för C++ programmeringsspråk . Senare utvecklades det för andra programmeringsspråk som Objective-C, Objective-C++, Fortran, Java , Ada, Go och mer. Den senaste versionen har den mycket förbättrade implementeringen av programmeringsspråken.

Det är den officiella partnern till GNU OS; därför har den antagits som standardkompilatorn för de Linuxbaserade systemen.

stater i usa

Komponenter i GCC

GCC är ett bärbart verktyg och det kan köras på många operativsystem. Den kan också portas till Windows genom att använda några verktyg som t.ex Cygwin, MinGW och MinGW-W64 . Eftersom det är en nyckelkomponent i GNU-verktygskedjan, innehåller den följande komponenter för att utveckla applikationer och operativsystem:

GNU Compiler Collection (GCC): Det är en kompileringssvit för många språk, som C/C++ och Objective-C/C++.

GNU märke: Det är ett automationsverktyg som används för att kompilera och bygga applikationer.

GNU Binutils: Det är en svit som innehåller binära verktygsverktyg som t.ex länk och assemblerare .

GNU Debugger (GDB). Den används för att felsöka applikationerna.

GNU Autotools: Det är ett byggsystem som innehåller några verktyg som Autoconf, Autoheader, Automake och Libtool.

GNU Bison: Det är en parsergenerator som lex och yacc.

GCC-kompilatorprocess

GCC kompilerar och gör ett program körbart i följande fyra steg:

GCC Linux

Förbearbetning: I det här steget skapar GNU-förprocessorn (cpp.exe) en mellanfil med källkoden. Förprocessorn inkluderar rubrikerna (#include) och expanderar makron (#define). Tänk på kommandot nedan:

 cpp hello.c > hello.i 

Kommandot ovan skapar en mellanfil 'hello.i.'

Kompilering: I detta steg kompileras den förbehandlade källkoden till assembly-kod för en specifik processor.

 gcc -S hello.i 

Kommandot ovan kommer att skapa en monteringsfil 'hello.s.' Alternativet '-s' används för att specificera det för att producera assemblykoden snarare än objektkoden.

Hopsättning: Monteringskoden omvandlas till maskinkod. Det kommer att skapa en objektfil 'hello.o.'

 as -o hello.o hello.s 

Länkare: Länkaren (ld.exe) är det sista steget i kompileringsprocessen. Den länkar objektkoden med bibliotekskoden och producerar en körbar fil.

 ld -o hello.exe hello.o 

Ovanstående kommando kommer att skapa en körbar fil 'hello.exe.'

Installation av GCC på Linux

Som standard kommer den med de flesta Linux-distributioner. Vi kan verifiera det genom att utföra följande kommando:

 gcc -version 

Ovanstående kommando visar den installerade versionen av GCC-verktyget. Om det inte är installerat, följ stegen nedan för att installera det:

Steg 1: Uppdatera paketlistan.

För att uppdatera paketlistan, kör följande kommando:

 sudo apt update 

Det kommer att fråga efter det systemadministrativa lösenordet, ange lösenordet. Det kommer att börja uppdatera systempaketet. Tänk på bilden nedan för utdata:

GCC Linux

Steg 2: Installera paketet build-essential.

Den innehåller olika paket som gcc, g++ och make utility. Utför kommandot nedan för att installera det:

 sudo apt install build-essential 

Ovanstående kommando kommer att installera de nödvändiga paketen för GCC-verktyget. Nu kan vi använda GCC-verktyget i vår maskin. Tänk på bilden nedan för utdata:

GCC Linux

Steg 3: Verifiera installationen.

För att verifiera installationen, kör kommandot gcc -version enligt följande:

 gcc --version 

Den kommer att visa den installerade versionen av GCC-verktyget. För att visa mer specifika detaljer om versionen, använd alternativet '-v'. Tänk på följande utdata:

handledning för javafx
GCC Linux

Här har vi framgångsrikt installerat GCC-verktyget. Låt oss förstå att använda det. Vi kommer att skapa och köra några c-program med GCC.

Kör det första C-programmet med gcc

Skapa en grundläggande c program 'Hej världen!'. Skapa filen 'hello.c' och lägg nedanstående kod i den:

 #include int main() { printf('Hello, world!
'); return 0; } 

Kompilera nu hello.c enligt följande:

 gcc hello.c 

Om vi ​​kör hello.c direkt kommer det att kasta felet. Gör den körbar, den körbara standardfilen för Linux-systemet är a.out. För att köra filen, kör kommandot chmod enligt följande:

 chmod a+x a.out 

Kör nu c-programmet som:

 ./a.out 

Tänk på följande utdata:

GCC Linux

Exempel på GCC-kommando

Några användbara exempel på kommandot gcc är följande:

    Ange objektets filnamn

Som standard skapar kommandot gcc objektfilen som 'a.ut .' Om du vill ändra standardutdatafilens namn, använd '-O' alternativ.

Låt oss köra det grundläggande gcc-kommandot:

 gcc hello.c 

Kommandot ovan kommer att generera objektfilen 'a.out.' För att ange objektets filnamn, kör kommandot enligt följande:

 gcc hello.c -o hello 

Det kommer att generera utdatafilen 'hej'. Tänk på följande utdata:

GCC Linux
    Aktivera alla varningar

För att aktivera alla varningar i utgången, använd '-Vägg' alternativet med kommandot gcc. Låt oss skapa en variabel i huvudfunktionen för hello.c. Tänk på koden nedan:

Hej C:

 #include int main() { int a; printf('Hello, world!
'); return 0; } 

Om vi ​​kompilerar ovanstående kod med -Wall-alternativet. Det kommer att kasta varningarna. Utför kommandot nedan för att kompilera filen:

 gcc -wall hello.c 

Ovanstående kommando visar varningarna. Tänk på följande utdata:

GCC Linux
    Producera den stegvisa produktionen av kompileringsprocessen

Vi kan bara producera den stegvisa produktionen av kompileringsprocessen.

Producera förprocessorutgången

Vi kan endast producera förprocessutdata genom att använda alternativet '-E'. Tänk på kommandot nedan:

 gcc -E hello.c > hello.i 

Från kommandot ovan, en fil 'Hej jag' som innehåller förbearbetad utdata genereras. Tänk på följande utdata:

GCC Linux

Ta fram monteringskoden

För att skapa monteringskoden, kör kommandot med alternativet '-S'. Tänk på kommandot nedan:

 gcc -S hello.c > hello.s 

Ovanstående kommando kommer att generera 'hello.s.' fil som innehåller monteringskoden. Tänk på följande utdata:

GCC Linux

Producera den kompilerade koden

array lista java

Vi kan bara producera den kompilerade koden genom att använda alternativet '-C'. Tänk på kommandot nedan:

 gcc -C hello.c 

Ovanstående kommando kommer att generera en fil 'a.out', som endast har maskinkoden eller den kompilerade koden. Tänk på följande utdata:

GCC Linux

Producera alla mellanliggande filer i kompileringsprocessen

Vi kan producera alla mellanfiler i kompileringsprocessen genom att använda alternativet '-save-temp'. Tänk på följande utdata:

 gcc -save-temps hello.c 

Ovanstående kommando kommer att generera alla mellanliggande filer såväl som körbara filer på en gång. Tänk på följande utdata:

GCC Linux
    Skriv ut utmatningen utförligt.

Vi kan visa utförlig information om varje steg som tas av gcc-kommandot. För att göra det, kör kommandot med alternativet '-v'.

 gcc -W -v hello.c 

Tänk på bilden nedan för utdata:

GCC Linux

Vi har diskuterat några mest användbara exempel på kommandot gcc. Eftersom gcc-kommandot underlättar med ett stort antal alternativ, kan du fastna var som helst medan du använder det. Låt oss se hur du själv får hjälp från terminalen.

GCC manual

Om du fastnar någonstans när du använder kommandot gcc kan du ta hjälp av din terminal. För att komma åt manualen från kommandoraden, kör man kommandot enligt följande:

 man gcc 

Ovanstående kommando visar manualen som innehåller en beskrivning och lista över de alternativ som stöds med en kort beskrivning. Tänk på bilden nedan för utdata:

GCC Linux

du kan rulla utgången för att läsa mer. Tryck på 'h'-tangenten för hjälp och q för att lämna manualen och tillbaka till terminalen.