A Linux, el GCC significa Col·lecció de compiladors GNU . És un sistema compilador per als diferents llenguatges de programació. S'utilitza principalment per compilar els programes C i C++. Pren el nom del programa font com a argument necessari; Els arguments rest són opcionals, com ara la depuració, l'avís, el fitxer d'objectes i les biblioteques d'enllaç.
GCC és un component bàsic de la cadena d'eines GNU. Es compilen diversos projectes de codi obert utilitzant el GCC, com ara el nucli de Linux i les eines GNU.
Es distribueix sota la GPL (Llicència Pública General). La primera versió, GCC 1.0 , es va llançar el 1987. Només era per al llenguatge de programació C, però el mateix any es va ampliar per al llenguatge de programació C. Llenguatge de programació C++ . Més tard, es va desenvolupar per a altres llenguatges de programació com Objective-C, Objective-C++, Fortran, Java , Ada, Go i més. La seva darrera versió té la implementació molt millorada dels llenguatges de programació.
És el soci oficial de GNU OS; per tant, s'ha adoptat com el compilador estàndard dels sistemes basats en Linux.
regex en java
Components de GCC
GCC és una eina portàtil i es pot executar en molts sistemes operatius. A més, es pot portar a Windows utilitzant algunes eines com ara Cygwin, MinGW i MinGW-W64 . Com que és un component clau de la cadena d'eines GNU, conté els components següents per desenvolupar aplicacions i sistemes operatius:
Col·lecció de compiladors GNU (GCC): És un conjunt de compiladors per a molts llenguatges, com ara C/C++ i Objective-C/C++.
GNU Make: És una eina d'automatització que s'utilitza per compilar i crear aplicacions.
GNU Binutils: És una suite que conté eines d'utilitat binàries com ara enllaçador i assemblador .
Depurador GNU (GDB). S'utilitza per depurar les aplicacions.
GNU Autotools: És un sistema de compilació que conté algunes eines d'utilitat com ara Autoconf, Autoheader, Automake i Libtool.
GNU Bison: És un generador d'analitzadors com lex i yacc.
Procés del compilador GCC
El GCC compila i fa executable un programa en els quatre passos següents:
Preprocessament: En aquest pas, el preprocessador GNU (cpp.exe) crea un fitxer intermedi amb el codi font. El preprocessador inclou les capçaleres (#include) i expandeix les macros (#define). Considereu l'ordre següent:
cpp hello.c > hello.i
L'ordre anterior crearà un fitxer intermedi 'hello.i'.
Recopilació: En aquest pas, el codi font preprocessat es compila en codi ensamblador per a un processador específic.
gcc -S hello.i
L'ordre anterior crearà un fitxer de muntatge 'hello.s'. L'opció '-s' s'utilitza per especificar-ho per produir el codi d'assemblatge en lloc de codi objecte.
Muntatge: El codi de muntatge es converteix en codi màquina. Crearà un fitxer d'objectes 'hello.o.'
as -o hello.o hello.s
Enllaçador: L'enllaçador (ld.exe) és el pas final del procés del compilador. Enllaça el codi objecte amb el codi de la biblioteca i produeix un fitxer executable.
ld -o hello.exe hello.o
L'ordre anterior crearà un fitxer executable 'hello.exe'.
Instal·lació de GCC a Linux
Per defecte, ve amb la majoria de distribucions de Linux. Podem verificar-ho executant l'ordre següent:
gcc -version
L'ordre anterior mostrarà la versió instal·lada de l'eina GCC. Si no està instal·lat, seguiu els passos següents per instal·lar-lo:
Pas 1: actualitzeu la llista de paquets.
Per actualitzar la llista de paquets, executeu l'ordre següent:
sudo apt update
Li demanarà la contrasenya administrativa del sistema, introduïu la contrasenya. Començarà a actualitzar el paquet del sistema. Tingueu en compte el següent snap de sortida:
Pas 2: instal·leu el paquet build-essential.
Conté diversos paquets com ara gcc, g++ i make utility. Executeu l'ordre següent per instal·lar-lo:
sudo apt install build-essential
L'ordre anterior instal·larà els paquets necessaris per a la utilitat GCC. Ara, podem utilitzar la utilitat GCC a la nostra màquina. Tingueu en compte el següent snap de sortida:
Pas 3: verifiqueu la instal·lació.
Per verificar la instal·lació, executeu l'ordre gcc -version de la següent manera:
gcc --version
Mostrarà la versió instal·lada de la utilitat GCC. Per mostrar els detalls més específics sobre la versió, utilitzeu l'opció '-v'. Considereu la sortida següent:
Aquí, hem instal·lat correctament la utilitat GCC. Entenem per utilitzar-lo. Crearem i executarem alguns programes en C utilitzant GCC.
Executeu el primer programa C per gcc
Crea un element bàsic c programa 'Hola món!'. Creeu un fitxer 'hello.c' i poseu-hi el codi següent:
#include int main() { printf('Hello, world! '); return 0; }
Ara, compileu el hello.c de la següent manera:
gcc hello.c
Si executem directament el hello.c, llançarà l'error. Feu que sigui executable, el fitxer executable per defecte per al sistema Linux és a.out. Per executar el fitxer, executeu l'ordre chmod de la següent manera:
chmod a+x a.out
Ara, executeu el programa c com:
./a.out
Considereu la sortida següent:
mapa rendir
Exemples d'ordres GCC
Alguns exemples útils de comanda gcc són els següents:
Per defecte, l'ordre gcc crea el fitxer objecte com a 'a.fora .' Si voleu canviar el nom del fitxer de sortida predeterminat, utilitzeu el fitxer '-O' opció.
Executem l'ordre bàsica de gcc:
gcc hello.c
L'ordre anterior generarà el fitxer objecte 'a.out.' Per especificar el nom del fitxer d'objecte, executeu l'ordre de la següent manera:
gcc hello.c -o hello
Generarà el fitxer de sortida 'hola'. Considereu la sortida següent:
Per activar tots els avisos a la sortida, utilitzeu el '-mur' opció amb l'ordre gcc. Creem una variable a la funció principal de hello.c. Considereu el codi següent:
hola.c:
#include int main() { int a; printf('Hello, world! '); return 0; }
Si compilem el codi anterior utilitzant l'opció -Wall. Llançarà els avisos. Executeu l'ordre següent per compilar el fitxer:
gcc -wall hello.c
L'ordre anterior mostrarà els avisos. Considereu la sortida següent:
Només podem produir la sortida pas a pas del procés de compilació.
Produeix la sortida del preprocessador
Només podem produir la sortida del preprocés utilitzant l'opció '-E'. Considereu l'ordre següent:
gcc -E hello.c > hello.i
Des de l'ordre anterior, un fitxer 'Hola jo' que conté sortida preprocessada es genera. Considereu la sortida següent:
Produeix el codi de muntatge
Per produir el codi ensamblador, executeu l'ordre amb l'opció '-S'. Considereu l'ordre següent:
gcc -S hello.c > hello.s
L'ordre anterior generarà 'hello.s.' fitxer que conté el codi de muntatge. Considereu la sortida següent:
Produeix el codi compilat
cadena java a la matriu
Només podem produir el codi compilat utilitzant l'opció '-C'. Considereu l'ordre següent:
gcc -C hello.c
L'ordre anterior generarà un fitxer 'a.out', amb només el codi màquina o el codi compilat. Considereu la sortida següent:
Produeix tots els fitxers intermedis del procés de compilació
Podem produir tots els fitxers intermedis del procés de compilació mitjançant l'opció '-save-temp'. Considereu la sortida següent:
gcc -save-temps hello.c
L'ordre anterior generarà tots els fitxers intermedis i fitxers executables alhora. Considereu la sortida següent:
Podem mostrar informació detallada de cada pas realitzat per l'ordre gcc. Per fer-ho, executeu l'ordre amb l'opció '-v'.
gcc -W -v hello.c
Tingueu en compte el següent snap de sortida:
Hem comentat alguns exemples més útils de l'ordre gcc. Com que l'ordre gcc facilita amb un gran nombre d'opcions, podeu quedar-vos encallat a qualsevol lloc mentre l'utilitzeu. Vegem com obtenir ajuda per tu mateix des del terminal.
Manual de GCC
Si us quedeu encallat en qualsevol lloc mentre feu servir l'ordre gcc, podeu rebre ajuda des del vostre terminal. Per accedir al manual des de la línia d'ordres, executeu l'ordre man de la següent manera:
man gcc
L'ordre anterior mostrarà el manual que conté una descripció i una llista de les opcions compatibles amb una breu descripció. Tingueu en compte el següent snap de sortida:
podeu desplaçar-vos per la sortida per llegir-ne més. Premeu la tecla 'h' per obtenir ajuda i q per sortir del manual i tornar al terminal.