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:
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:
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:
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
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:
Exempel på GCC-kommando
Några användbara exempel på kommandot gcc är följande:
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:
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:
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:
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:
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:
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:
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:
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:
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.