logo

GCC Linux

Linuxissa GCC tarkoittaa GNU Compiler Collection . Se on kääntäjäjärjestelmä eri ohjelmointikielille. Sitä käytetään pääasiassa C- ja C++-ohjelmien kääntämiseen. Se ottaa lähdeohjelman nimen välttämättömänä argumenttina; rest-argumentit ovat valinnaisia, kuten virheenkorjaus, varoitus, objektitiedosto ja kirjastojen linkittäminen.

GCC on GNU-työkaluketjun ydinkomponentti. GCC:tä käyttäen kootaan erilaisia ​​avoimen lähdekoodin projekteja, kuten Linux-ytimen ja GNU-työkaluja.

Sitä jaetaan GPL-lisenssillä (General Public License). Ensimmäinen versio, GCC 1.0 , julkaistiin vuonna 1987. Se oli tarkoitettu vain C-ohjelmointikielelle, mutta samana vuonna sitä laajennettiin C++ ohjelmointikieli . Myöhemmin se kehitettiin muille ohjelmointikielille, kuten Objective-C, Objective-C++, Fortran, Java , Ada, Go ja paljon muuta. Sen uusimmassa versiossa on paljon paranneltu ohjelmointikielten toteutus.

Se on GNU OS:n virallinen kumppani; siksi se on hyväksytty Linux-pohjaisten järjestelmien vakiokääntäjäksi.

javafx

GCC:n osat

GCC on kannettava työkalu, ja sitä voidaan käyttää useissa käyttöjärjestelmissä. Lisäksi se voidaan siirtää Windows käyttämällä joitain työkaluja, kuten Cygwin, MinGW ja MinGW-W64 . Koska se on GNU-työkaluketjun avainkomponentti, se sisältää seuraavat komponentit sovellusten ja käyttöjärjestelmien kehittämiseen:

GNU Compiler Collection (GCC): Se on käännöspaketti monille kielille, kuten C/C++ ja Objective-C/C++.

GNU merkki: Se on automaatiotyökalu, jota käytetään sovellusten kokoamiseen ja rakentamiseen.

GNU Binutils: Se on sarja, joka sisältää binäärityökaluja, kuten linkittäjä ja kokoaja .

GNU Debugger (GDB). Sitä käytetään sovellusten virheenkorjaukseen.

GNU Autotools: Se on koontijärjestelmä, joka sisältää joitain aputyökaluja, kuten Autoconf, Autoheader, Automake ja Libtool.

GNU Bison: Se on jäsennysgeneraattori kuten lex ja yacc.

GCC-kääntäjäprosessi

GCC kokoaa ohjelman ja tekee siitä suoritettavan seuraavissa neljässä vaiheessa:

GCC Linux

Esikäsittely: Tässä vaiheessa GNU-esiprosessori (cpp.exe) luo välitiedoston, jossa on lähdekoodi. Esiprosessori sisältää otsikot (#include) ja laajentaa makrot (#define). Harkitse alla olevaa komentoa:

 cpp hello.c > hello.i 

Yllä oleva komento luo välitiedoston hello.i.

Kokoonpano: Tässä vaiheessa esikäsitelty lähdekoodi käännetään tietyn prosessorin kokoonpanokoodiksi.

 gcc -S hello.i 

Yllä oleva komento luo kokoonpanotiedoston 'hello.s.' '-s'-vaihtoehtoa käytetään määrittämään, että tuotetaan kokoonpanokoodi objektikoodin sijaan.

Kokoonpano: Kokoonpanokoodi muunnetaan konekoodiksi. Se luo objektitiedoston 'hello.o.'

 as -o hello.o hello.s 

Linkki: Linker (ld.exe) on kääntäjäprosessin viimeinen vaihe. Se linkittää objektikoodin kirjastokoodiin ja tuottaa suoritettavan tiedoston.

 ld -o hello.exe hello.o 

Yllä oleva komento luo suoritettavan tiedoston hello.exe.

GCC:n asennus Linuxiin

Oletuksena sen mukana tulee useimmat Linux-jakelut. Voimme varmistaa sen suorittamalla alla olevan komennon:

 gcc -version 

Yllä oleva komento näyttää GCC-työkalun asennetun version. Jos sitä ei ole asennettu, asenna se seuraavien ohjeiden mukaan:

Vaihe 1: Päivitä pakettiluettelo.

Päivitä pakettiluettelo suorittamalla seuraava komento:

 sudo apt update 

Se kysyy järjestelmänvalvojan salasanaa, kirjoita salasana. Se alkaa päivittää järjestelmäpakettia. Harkitse alla olevaa lähtökohtaa:

GCC Linux

Vaihe 2: Asenna build-essential-paketti.

Se sisältää erilaisia ​​paketteja, kuten gcc, g++ ja make-apuohjelma. Asenna se suorittamalla alla oleva komento:

 sudo apt install build-essential 

Yllä oleva komento asentaa tarvittavat paketit GCC-apuohjelmaa varten. Nyt voimme käyttää GCC-apuohjelmaa koneessamme. Harkitse alla olevaa lähtökohtaa:

GCC Linux

Vaihe 3: Tarkista asennus.

Tarkista asennus suorittamalla komento gcc -version seuraavasti:

 gcc --version 

Se näyttää GCC-apuohjelman asennetun version. Jos haluat nähdä tarkemmat tiedot versiosta, käytä -v-vaihtoehtoa. Harkitse alla olevaa tulosta:

GCC Linux

Täällä olemme onnistuneesti asentaneet GCC-apuohjelman. Ymmärretään käyttää sitä. Luomme ja suoritamme joitain c-ohjelmia GCC:n avulla.

Suorita ensimmäinen C-ohjelma gcc:llä

Luo perus c ohjelma 'Hei maailma!'. Luo tiedosto 'hello.c' ja laita siihen alla oleva koodi:

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

Käännä nyt hello.c seuraavasti:

 gcc hello.c 

Jos suoritamme suoraan hello.c:n, se heittää virheen. Tee siitä suoritettava, Linux-järjestelmän oletussuoritettava tiedosto on a.out. Suorita tiedosto suorittamalla chmod-komento seuraavasti:

 chmod a+x a.out 

Suorita nyt c-ohjelma seuraavasti:

 ./a.out 

Harkitse alla olevaa tulosta:

GCC Linux

GCC-komento Esimerkkejä

Joitakin hyödyllisiä esimerkkejä gcc-komennosta ovat seuraavat:

    Määritä objektitiedoston nimi

Oletuksena gcc-komento luo objektitiedoston muodossa 'a.out .' Jos haluat muuttaa oletustulostustiedoston nimeä, käytä '-O' vaihtoehto.

Suoritetaan gcc peruskomento:

 gcc hello.c 

Yllä oleva komento luo objektitiedoston a.out. Voit määrittää objektitiedoston nimen suorittamalla komennon seuraavasti:

rakentajat javassa
 gcc hello.c -o hello 

Se luo tulostiedoston 'hello'. Harkitse alla olevaa tulosta:

GCC Linux
    Ota kaikki varoitukset käyttöön

Ota kaikki varoitukset käyttöön lähdössä käyttämällä '-seinä' vaihtoehto gcc-komennolla. Luodaan muuttuja hello.c:n pääfunktioon. Harkitse alla olevaa koodia:

hei C:

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

Jos kokoamme yllä olevan koodin käyttämällä -Wall-vaihtoehtoa. Se heittää varoituksia. Suorita alla oleva komento kääntääksesi tiedoston:

 gcc -wall hello.c 

Yllä oleva komento näyttää varoitukset. Harkitse alla olevaa tulosta:

GCC Linux
    Tuota käännösprosessin vaiheittainen tulos

Voimme tuottaa vain käännösprosessin vaiheittaisen tulosteen.

Tuo esiprosessorin ulostulo

Voimme tuottaa vain esikäsittelyn tulosteen käyttämällä '-E'-optiota. Harkitse alla olevaa komentoa:

 gcc -E hello.c > hello.i 

Yllä olevasta komennosta tiedosto 'hei.i' joka sisältää esikäsitellyn tulosteen. Harkitse alla olevaa tulosta:

GCC Linux

Tuo kokoonpanokoodi

Tuottaaksesi kokoonpanokoodin, suorita komento '-S'-vaihtoehdolla. Harkitse alla olevaa komentoa:

 gcc -S hello.c > hello.s 

Yllä oleva komento luo 'hello.s.' tiedosto, joka sisältää kokoonpanokoodin. Harkitse alla olevaa tulosta:

GCC Linux

Tuo käännetty koodi

lajitella kasa

Voimme tuottaa vain käännetyn koodin käyttämällä '-C' vaihtoehtoa. Harkitse alla olevaa komentoa:

 gcc -C hello.c 

Yllä oleva komento luo tiedoston 'a.out', jossa on vain konekoodi tai käännetty koodi. Harkitse alla olevaa tulosta:

GCC Linux

Tuota kaikki käännösprosessin välitiedostot

Voimme tuottaa kaikki käännösprosessin välitiedostot käyttämällä '-save-temp' -vaihtoehtoa. Harkitse alla olevaa tulosta:

 gcc -save-temps hello.c 

Yllä oleva komento luo kaikki välitiedostot sekä suoritettavat tiedostot kerralla. Harkitse alla olevaa tulosta:

GCC Linux
    Tulosta tuloste sanallisesti.

Voimme näyttää yksityiskohtaiset tiedot jokaisesta gcc-komennon suorittamasta vaiheesta. Voit tehdä tämän suorittamalla komennon '-v'-vaihtoehdolla.

 gcc -W -v hello.c 

Harkitse alla olevaa lähtökohtaa:

GCC Linux

Olemme keskustelleet joistakin hyödyllisimmistä esimerkeistä gcc-komennosta. Koska gcc-komento helpottaa valtavan määrän vaihtoehtoja, voit juuttua missä tahansa sitä käyttäessäsi. Katsotaan kuinka saat itse apua terminaalista.

GCC käsikirja

Jos joudut jumiin jossain käyttäessäsi gcc-komentoa, voit ottaa apua päätteeltäsi. Pääset käsikirjaan komentoriviltä suorittamalla man-komennon seuraavasti:

 man gcc 

Yllä oleva komento näyttää oppaan, joka sisältää kuvauksen ja luettelon tuetuista vaihtoehdoista sekä lyhyen kuvauksen. Harkitse alla olevaa lähtökohtaa:

GCC Linux

voit vierittää tulostetta lukeaksesi lisää. Paina 'h'-näppäintä saadaksesi apua ja q poistuaksesi käsikirjasta ja takaisin terminaaliin.