logo

GCC Linux

Linux sistemoje GCC reiškia GNU kompiliatoriaus kolekcija . Tai įvairių programavimo kalbų kompiliavimo sistema. Jis daugiausia naudojamas C ir C++ programoms kompiliuoti. Šaltinio programos pavadinimas yra būtinas argumentas; poilsio argumentai yra neprivalomi, pvz., derinimas, įspėjimas, objekto failas ir bibliotekų susiejimas.

GCC yra pagrindinis GNU įrankių grandinės komponentas. Naudojant GCC, sudaromi įvairūs atvirojo kodo projektai, tokie kaip Linux branduolys ir GNU įrankiai.

Jis platinamas pagal GPL (bendrąją viešąją licenciją). Pirmoji versija, GCC 1.0 , buvo išleistas 1987 m. Jis buvo skirtas tik C programavimo kalbai, tačiau tais pačiais metais buvo išplėstas ir C++ programavimo kalba . Vėliau jis buvo sukurtas kitoms programavimo kalboms, tokioms kaip Objective-C, Objective-C++, Fortran, Java , Ada, Go ir kt. Naujausioje jo versijoje yra daug patobulintos programavimo kalbos.

Tai oficialus GNU OS partneris; todėl jis buvo priimtas kaip standartinis Linux pagrįstų sistemų kompiliatorius.

10 galia iš 6

GCC sudedamosios dalys

GCC yra nešiojamas įrankis ir gali veikti daugelyje operacinių sistemų. Be to, jį galima perkelti į Windows naudojant kai kuriuos įrankius, pvz Cygwin, MinGW ir MinGW-W64 . Kadangi tai yra pagrindinis GNU įrankių grandinės komponentas, joje yra šie komponentai, skirti kurti programas ir operacines sistemas:

GNU kompiliatorių kolekcija (GCC): Tai daugelio kalbų, tokių kaip C/C++ ir Objective-C/C++, kompiliatorių rinkinys.

GNU gamintojas: Tai automatizavimo įrankis, naudojamas programoms kompiliuoti ir kurti.

GNU Binutils: Tai rinkinys, kuriame yra dvejetainių paslaugų įrankių, tokių kaip saitas ir surinkėjas .

GNU Debugger (GDB). Jis naudojamas programų derinimui.

GNU automatiniai įrankiai: Tai kūrimo sistema, kurioje yra keletas naudingų įrankių, tokių kaip „Autoconf“, „Autoheader“, „Automake“ ir „Libtool“.

GNU bizonas: Tai analizavimo generatorius kaip lex ir yacc.

GCC kompiliatoriaus procesas

GCC sukompiliuoja ir padaro programą vykdomą atlikdama šiuos keturis veiksmus:

GCC Linux

Išankstinis apdorojimas: Šiame žingsnyje GNU pirminis procesorius (cpp.exe) sukuria tarpinį failą su šaltinio kodu. Išankstinis procesorius apima antraštes (#include) ir išplečia makrokomandas (#define). Apsvarstykite toliau pateiktą komandą:

 cpp hello.c > hello.i 

Aukščiau pateikta komanda sukurs tarpinį failą „hello.i“.

Kompiliacija: Šiame žingsnyje iš anksto apdorotas šaltinio kodas sukompiliuojamas į konkretaus procesoriaus surinkimo kodą.

 gcc -S hello.i 

Aukščiau pateikta komanda sukurs surinkimo failą „hello.s.“ Parinktis „-s“ naudojama norint nurodyti, kad būtų sukurtas surinkimo kodas, o ne objekto kodas.

Surinkimas: Surinkimo kodas paverčiamas mašininiu kodu. Bus sukurtas objekto failas „hello.o“.

 as -o hello.o hello.s 

Linker: Linker (ld.exe) yra paskutinis kompiliatoriaus proceso žingsnis. Jis susieja objekto kodą su bibliotekos kodu ir sukuria vykdomąjį failą.

 ld -o hello.exe hello.o 

Aukščiau pateikta komanda sukurs vykdomąjį failą „hello.exe“.

GCC diegimas Linux sistemoje

Pagal numatytuosius nustatymus jis pateikiamas su dauguma Linux platinimų. Galime tai patikrinti vykdydami žemiau esančią komandą:

 gcc -version 

Aukščiau pateikta komanda parodys įdiegtą GCC įrankio versiją. Jei jis neįdiegtas, atlikite toliau nurodytus veiksmus, kad jį įdiegtumėte:

1 veiksmas: atnaujinkite paketų sąrašą.

Norėdami atnaujinti paketų sąrašą, vykdykite šią komandą:

 sudo apt update 

Jis paprašys sistemos administratoriaus slaptažodžio, įveskite slaptažodį. Bus pradėtas sistemos paketo atnaujinimas. Apsvarstykite toliau pateiktą išvesties momentą:

GCC Linux

2 veiksmas: įdiekite „build-essential“ paketą.

Jame yra įvairių paketų, tokių kaip gcc, g++ ir make utility. Vykdykite toliau pateiktą komandą, kad ją įdiegtumėte:

 sudo apt install build-essential 

Aukščiau pateikta komanda įdiegs reikiamus GCC paslaugų paketus. Dabar savo mašinoje galime naudoti GCC įrankį. Apsvarstykite toliau pateiktą išvesties momentą:

GCC Linux

3 veiksmas: patikrinkite diegimą.

Norėdami patikrinti diegimą, vykdykite komandą gcc -version taip:

 gcc --version 

Bus rodoma įdiegta GCC programos versija. Norėdami pamatyti tikslesnę informaciją apie versiją, naudokite parinktį „-v“. Apsvarstykite toliau pateiktą išvestį:

GCC Linux

Čia mes sėkmingai įdiegėme GCC įrankį. Supraskime juo naudotis. Sukursime ir vykdysime kai kurias c programas naudodami GCC.

Paleiskite pirmąją C programą naudodami gcc

Sukurkite pagrindinį c programa 'Labas pasauli!'. Sukurkite failą „hello.c“ ir įdėkite į jį žemiau esantį kodą:

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

Dabar sukompiliuokite hello.c taip:

 gcc hello.c 

Jei tiesiogiai paleisime hello.c, ji išmes klaidą. Padarykite jį vykdomąjį, numatytasis vykdomasis failas Linux sistemoje yra a.out. Norėdami paleisti failą, vykdykite komandą chmod taip:

 chmod a+x a.out 

Dabar paleiskite c programą kaip:

 ./a.out 

Apsvarstykite toliau pateiktą išvestį:

GCC Linux

GCC komandų pavyzdžiai

Keletas naudingų gcc komandos pavyzdžių:

    Nurodykite objekto failo pavadinimą

Pagal numatytuosius nustatymus gcc komanda sukuria objekto failą kaip 'a.out .' Jei norite pakeisti numatytąjį išvesties failo pavadinimą, naudokite '-O' variantas.

Vykdykime pagrindinę gcc komandą:

 gcc hello.c 

Aukščiau pateikta komanda sugeneruos objekto failą „a.out“. Norėdami nurodyti objekto failo pavadinimą, vykdykite komandą taip:

 gcc hello.c -o hello 

Jis sugeneruos išvesties failą „labas“. Apsvarstykite toliau pateiktą išvestį:

GCC Linux
    Įgalinti visus įspėjimus

Norėdami įjungti visus įspėjimus išvestyje, naudokite '-Siena' parinktis su gcc komanda. Sukurkime pagrindinėje hello.c funkcijoje kintamąjį. Apsvarstykite toliau pateiktą kodą:

pėdos prieš pėdą

hello.c:

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

Jei aukščiau pateiktą kodą sudarysime naudodami parinktį -Siena. Tai išmes įspėjimus. Vykdykite toliau pateiktą komandą, kad sukurtumėte failą:

 gcc -wall hello.c 

Aukščiau pateikta komanda parodys įspėjimus. Apsvarstykite toliau pateiktą išvestį:

GCC Linux
    Sukurkite laipsnišką kompiliavimo proceso išvestį

Galime sukurti tik laipsnišką kompiliavimo proceso išvestį.

Sukurkite pirminio procesoriaus išvestį

Naudodami parinktį „-E“ galime pagaminti tik išankstinio apdorojimo išvestį. Apsvarstykite toliau pateiktą komandą:

 gcc -E hello.c > hello.i 

Iš aukščiau pateiktos komandos failas 'Labas as' sugeneruojama iš anksto apdorota išvestis. Apsvarstykite toliau pateiktą išvestį:

GCC Linux

Sukurkite surinkimo kodą

Norėdami sukurti surinkimo kodą, vykdykite komandą su parinktimi „-S“. Apsvarstykite toliau pateiktą komandą:

 gcc -S hello.c > hello.s 

Aukščiau pateikta komanda sugeneruos „hello.s“. failą, kuriame yra surinkimo kodas. Apsvarstykite toliau pateiktą išvestį:

GCC Linux

Sukurkite sukompiliuotą kodą

aws sns

Naudodami parinktį „-C“ galime sukurti tik sukompiliuotą kodą. Apsvarstykite toliau pateiktą komandą:

 gcc -C hello.c 

Aukščiau pateikta komanda sugeneruos failą „a.out“, kuriame bus tik mašinos kodas arba sukompiliuotas kodas. Apsvarstykite toliau pateiktą išvestį:

GCC Linux

Sukurkite visus tarpinius kompiliavimo proceso failus

Naudodami parinktį „-save-temp“ galime sukurti visus tarpinius kompiliavimo proceso failus. Apsvarstykite toliau pateiktą išvestį:

 gcc -save-temps hello.c 

Aukščiau pateikta komanda sugeneruos visus tarpinius failus ir vykdomuosius failus vienu metu. Apsvarstykite toliau pateiktą išvestį:

GCC Linux
    Žodžiu išspausdinkite išvestį.

Galime parodyti išsamią informaciją apie kiekvieną gcc komandos atliktą žingsnį. Norėdami tai padaryti, vykdykite komandą naudodami parinktį „-v“.

 gcc -W -v hello.c 

Apsvarstykite toliau pateiktą išvesties momentą:

GCC Linux

Aptarėme keletą naudingiausių gcc komandos pavyzdžių. Kadangi gcc komanda palengvina daugybę parinkčių, ją naudodami galite įstrigti bet kur. Pažiūrėkime, kaip patiems gauti pagalbą iš terminalo.

GCC vadovas

Jei kur nors užstringate naudodami komandą gcc, galite kreiptis pagalbos iš savo terminalo. Norėdami pasiekti vadovą iš komandinės eilutės, vykdykite komandą man taip:

 man gcc 

Aukščiau pateikta komanda parodys vadovą, kuriame yra aprašymas ir palaikomų parinkčių sąrašas su trumpu aprašymu. Apsvarstykite toliau pateiktą išvesties momentą:

GCC Linux

galite slinkti išvestį, kad perskaitytumėte daugiau. Paspauskite mygtuką „h“, kad gautumėte pagalbos, ir q, kad išeitumėte iš vadovo ir grįžtumėte į terminalą.