logo

GCC Linux

Linux sistēmā GCC apzīmē GNU kompilatoru kolekcija . Tā ir kompilatoru sistēma dažādām programmēšanas valodām. To galvenokārt izmanto C un C++ programmu kompilēšanai. Tas izmanto avota programmas nosaukumu kā nepieciešamo argumentu; pārējie argumenti nav obligāti, piemēram, atkļūdošana, brīdinājums, objekta fails un bibliotēku saistīšana.

GCC ir GNU rīku ķēdes galvenā sastāvdaļa. Izmantojot GCC, tiek apkopoti dažādi atvērtā pirmkoda projekti, piemēram, Linux kodols un GNU rīki.

Tas tiek izplatīts saskaņā ar GPL (vispārējo publisko licenci). Pirmā versija, GCC 1.0 , tika izlaists 1987. gadā. Tas bija paredzēts tikai C programmēšanas valodai, bet tajā pašā gadā tas tika paplašināts arī C++ programmēšanas valoda . Vēlāk tas tika izstrādāts citām programmēšanas valodām, piemēram, Objective-C, Objective-C++, Fortran, Java , Ada, Go un citi. Tās jaunākajā versijā ir ievērojami uzlabota programmēšanas valodu ieviešana.

Tas ir oficiālais GNU OS partneris; tāpēc tas ir pieņemts kā standarta kompilators uz Linux balstītām sistēmām.

java metodes ignorēšana

GCC sastāvdaļas

GCC ir pārnēsājams rīks, un tas var darboties daudzās operētājsistēmās. Turklāt to var pārnest uz Windows izmantojot dažus rīkus, piemēram, Cygwin, MinGW un MinGW-W64 . Tā kā tā ir galvenā GNU rīkķēdes sastāvdaļa, tajā ir iekļauti šādi komponenti lietojumprogrammu un operētājsistēmu izstrādei:

GNU kompilatoru kolekcija (GCC): Tas ir kompilatoru komplekts daudzām valodām, piemēram, C/C++ un Objective-C/C++.

GNU marka: Tas ir automatizācijas rīks, ko izmanto lietojumprogrammu apkopošanai un veidošanai.

GNU Binutils: Tas ir komplekts, kas satur bināros utilītu rīkus, piemēram, saistītājs un montētājs .

GNU atkļūdotājs (GDB). To izmanto lietojumprogrammu atkļūdošanai.

GNU Autotools: Tā ir veidošanas sistēma, kas satur dažus utilītu rīkus, piemēram, Autoconf, Autoheader, Automake un Libtool.

GNU bizons: Tas ir parsētājs ģenerators kā lex un yacc.

GCC kompilatora process

GCC apkopo un padara programmu izpildāmu, veicot šādas četras darbības:

GCC Linux

Iepriekšēja apstrāde: Šajā darbībā GNU priekšprocesors (cpp.exe) izveido starpfailu ar avota kodu. Priekšapstrādātājs ietver galvenes (#include) un paplašina makro (#define). Apsveriet tālāk norādīto komandu:

 cpp hello.c > hello.i 

Iepriekš minētā komanda izveidos starpfailu 'hello.i'.

Kompilācija: Šajā darbībā iepriekš apstrādātais avota kods tiek apkopots konkrēta procesora montāžas kodā.

 gcc -S hello.i 

Iepriekš minētā komanda izveidos montāžas failu 'hello.s.' Opciju “-s” izmanto, lai norādītu, ka jāizveido montāžas kods, nevis objekta kods.

Montāža: Montāžas kods tiek pārveidots par mašīnas kodu. Tas izveidos objekta failu 'hello.o'.

 as -o hello.o hello.s 

Saistītājs: Linker (ld.exe) ir kompilatora procesa pēdējais solis. Tas saista objekta kodu ar bibliotēkas kodu un izveido izpildāmu failu.

 ld -o hello.exe hello.o 

Iepriekš minētā komanda izveidos izpildāmo failu hello.exe.

GCC instalēšana operētājsistēmā Linux

Pēc noklusējuma tas tiek piegādāts ar lielāko daļu Linux izplatījumu. Mēs to varam pārbaudīt, izpildot tālāk norādīto komandu:

 gcc -version 

Iepriekš minētā komanda parādīs instalēto GCC rīka versiju. Ja tas nav instalēts, veiciet tālāk norādītās darbības, lai to instalētu.

1. darbība: atjauniniet pakotņu sarakstu.

Lai atjauninātu pakotņu sarakstu, izpildiet šādu komandu:

 sudo apt update 

Tas prasīs sistēmas administratīvo paroli, ievadiet paroli. Tas sāks atjaunināt sistēmas pakotni. Apsveriet tālāk redzamo izvades momentu:

GCC Linux

2. darbība. Instalējiet build-essential pakotni.

Tas satur dažādas pakotnes, piemēram, gcc, g++ un make utilītu. Lai to instalētu, izpildiet tālāk norādīto komandu:

Fredijs Merkūrijs
 sudo apt install build-essential 

Iepriekš minētā komanda instalēs nepieciešamās pakotnes GCC utilītai. Tagad mēs savā mašīnā varam izmantot GCC utilītu. Apsveriet tālāk redzamo izvades momentu:

GCC Linux

3. darbība: pārbaudiet instalāciju.

Lai pārbaudītu instalēšanu, izpildiet komandu gcc -version šādi:

 gcc --version 

Tas parādīs instalēto GCC utilīta versiju. Lai parādītu precīzāku informāciju par versiju, izmantojiet opciju “-v”. Apsveriet tālāk norādīto izvadi:

GCC Linux

Šeit mēs esam veiksmīgi instalējuši GCC utilītu. Sapratīsim to izmantot. Mēs izveidosim un izpildīsim dažas c programmas, izmantojot GCC.

Palaidiet pirmo C programmu, izmantojot gcc

Izveidojiet pamata c programma 'Sveika pasaule!'. Izveidojiet failu hello.c un ievietojiet tajā zemāk esošo kodu:

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

Tagad kompilējiet hello.c šādi:

 gcc hello.c 

Ja mēs tieši palaižam hello.c, tas parādīs kļūdu. Padariet to izpildāmu, Linux sistēmas noklusējuma izpildāmais fails ir a.out. Lai izpildītu failu, izpildiet komandu chmod šādi:

 chmod a+x a.out 

Tagad palaidiet programmu c kā:

 ./a.out 

Apsveriet tālāk norādīto izvadi:

GCC Linux

GCC komandu piemēri

Daži noderīgi gcc komandas piemēri ir šādi:

    Norādiet objekta faila nosaukumu

Pēc noklusējuma komanda gcc izveido objekta failu kā 'a.out .' Ja vēlaties mainīt noklusējuma izvades faila nosaukumu, izmantojiet '-O' opciju.

Izpildīsim pamata gcc komandu:

 gcc hello.c 

Iepriekš minētā komanda ģenerēs objekta failu 'a.out'. Lai norādītu objekta faila nosaukumu, izpildiet komandu šādi:

 gcc hello.c -o hello 

Tas ģenerēs izvades failu 'sveiki'. Apsveriet tālāk norādīto izvadi:

GCC Linux
    Iespējot visus brīdinājumus

Lai iespējotu visus brīdinājumus izvadē, izmantojiet '-Siena' opciju ar komandu gcc. Izveidosim mainīgo hello.c galvenajā funkcijā. Apsveriet tālāk norādīto kodu:

hello.c:

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

Ja mēs apkopojam iepriekš minēto kodu, izmantojot opciju -Siena. Tas izsauks brīdinājumus. Lai apkopotu failu, izpildiet tālāk norādīto komandu:

 gcc -wall hello.c 

Iepriekš minētā komanda parādīs brīdinājumus. Apsveriet tālāk norādīto izvadi:

GCC Linux
    Izveidojiet pakāpenisku kompilācijas procesa izvadi

Mēs varam ražot tikai pakāpenisku kompilācijas procesa izvadi.

Izveidojiet priekšprocesora izvadi

Mēs varam ražot tikai priekšapstrādes izvadi, izmantojot opciju '-E'. Apsveriet tālāk norādīto komandu:

 gcc -E hello.c > hello.i 

No iepriekš minētās komandas fails 'sveiki.es' tiek ģenerēta iepriekš apstrādāta izvade. Apsveriet tālāk norādīto izvadi:

GCC Linux

Izveidojiet montāžas kodu

Lai izveidotu montāžas kodu, izpildiet komandu ar opciju '-S'. Apsveriet tālāk norādīto komandu:

 gcc -S hello.c > hello.s 

Iepriekš minētā komanda ģenerēs “hello.s”. failu, kurā ir montāžas kods. Apsveriet tālāk norādīto izvadi:

GCC Linux

Izveidojiet apkopoto kodu

java inicializācijas masīvs

Mēs varam izveidot tikai apkopoto kodu, izmantojot opciju '-C'. Apsveriet tālāk norādīto komandu:

 gcc -C hello.c 

Iepriekš minētā komanda ģenerēs failu “a.out”, kurā būs tikai mašīnas kods vai kompilēts kods. Apsveriet tālāk norādīto izvadi:

GCC Linux

Izveidojiet visus kompilācijas procesa starpfailus

Mēs varam izveidot visus kompilācijas procesa starpfailus, izmantojot opciju '-save-temp'. Apsveriet tālāk norādīto izvadi:

 gcc -save-temps hello.c 

Iepriekš minētā komanda ģenerēs visus starpposma failus, kā arī izpildāmos failus vienlaikus. Apsveriet tālāk norādīto izvadi:

GCC Linux
    Izdrukājiet izvadi detalizēti.

Mēs varam parādīt detalizētu informāciju par katru gcc komandas veikto darbību. Lai to izdarītu, izpildiet komandu ar opciju “-v”.

 gcc -W -v hello.c 

Apsveriet tālāk redzamo izvades momentu:

GCC Linux

Mēs esam apsprieduši dažus visnoderīgākos komandas gcc piemērus. Tā kā gcc komanda atvieglo daudz iespēju, tās izmantošanas laikā varat iestrēgt jebkur. Apskatīsim, kā patstāvīgi saņemt palīdzību no termināļa.

GCC rokasgrāmata

Ja, izmantojot komandu gcc, kaut kur iestrēgst, varat saņemt palīdzību no sava termināļa. Lai piekļūtu rokasgrāmatai no komandrindas, izpildiet komandu man šādi:

 man gcc 

Iepriekš minētā komanda parādīs rokasgrāmatu, kurā ir apraksts un atbalstīto opciju saraksts ar īsu aprakstu. Apsveriet tālāk redzamo izvades momentu:

GCC Linux

varat ritināt izvadi, lai lasītu vairāk. Nospiediet taustiņu 'h', lai saņemtu palīdzību, un q, lai izietu no rokasgrāmatas un atgrieztos terminālī.