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:
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:
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:
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:
Š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 komandu piemēri
Daži noderīgi gcc komandas piemēri ir šādi:
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:
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:
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:
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:
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:
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:
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:
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:
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ī.