logo

GCC Linux

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:

GCC Linux

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:

GCC Linux

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:

GCC Linux

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:

GCC Linux

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

Exemples d'ordres GCC

Alguns exemples útils de comanda gcc són els següents:

    Especifiqueu el nom del fitxer de l'objecte

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:

GCC Linux
    Activa tots els avisos

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:

GCC Linux
    Produeix la sortida pas a pas del procés de compilació

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:

GCC Linux

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:

GCC Linux

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:

GCC Linux

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:

GCC Linux
    Imprimeix la sortida de manera detallada.

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:

GCC Linux

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:

GCC Linux

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.