V Linuxe je skratka GCC Zbierka kompilátorov GNU . Je to kompilačný systém pre rôzne programovacie jazyky. Používa sa hlavne na kompiláciu programov C a C++. Ako nevyhnutný argument berie názov zdrojového programu; ostatné argumenty sú voliteľné, ako napríklad ladenie, varovanie, objektový súbor a prepojenie knižníc.
GCC je základná súčasť GNU toolchain. Rôzne open-source projekty sú kompilované pomocou GCC, ako napríklad linuxové jadro a nástroje GNU.
Je distribuovaný pod licenciou GPL (General Public License). Prvá verzia, GCC 1.0 , bol vydaný v roku 1987. Bol len pre programovací jazyk C, ale v tom istom roku bol rozšírený o Programovací jazyk C++ . Neskôr bol vyvinutý pre ďalšie programovacie jazyky ako Objective-C, Objective-C++, Fortran, Java , Ada, Choď a ďalšie. Jeho najnovšia verzia má oveľa vylepšenú implementáciu programovacích jazykov.
Je oficiálnym partnerom GNU OS; preto bol prijatý ako štandardný kompilátor systémov založených na Linuxe.
java fazuľa
Komponenty GCC
GCC je prenosný nástroj a môže bežať na mnohých operačných systémoch. Tiež to môže byť prenesené na Windows pomocou niektorých nástrojov ako napr Cygwin, MinGW a MinGW-W64 . Keďže ide o kľúčový komponent GNU toolchainu, obsahuje nasledujúce komponenty pre vývoj aplikácií a operačných systémov:
GNU Compiler Collection (GCC): Je to kompilátor pre mnoho jazykov, ako napríklad C/C++ a Objective-C/C++.
Značka GNU: Ide o automatizačný nástroj, ktorý sa používa na zostavovanie a vytváranie aplikácií.
GNU Binutils: Ide o balík, ktorý obsahuje binárne nástroje nástrojov ako napr linker a assembler .
GNU Debugger (GDB). Používa sa na ladenie aplikácií.
GNU Autotools: Ide o zostavovací systém, ktorý obsahuje niektoré pomocné nástroje ako Autoconf, Autoheader, Automake a Libtool.
GNU Bison: Je to generátor analyzátora ako lex a yacc.
Proces kompilátora GCC
GCC skompiluje a urobí spustiteľný program v nasledujúcich štyroch krokoch:
Predspracovanie: V tomto kroku GNU preprocesor (cpp.exe) vytvorí prechodný súbor so zdrojovým kódom. Preprocesor obsahuje hlavičky (#include) a rozširuje makrá (#define). Zvážte nasledujúci príkaz:
cpp hello.c > hello.i
Vyššie uvedený príkaz vytvorí prechodný súbor 'hello.i.'
Kompilácia: V tomto kroku sa predspracovaný zdrojový kód skompiluje do kódu zostavy pre konkrétny procesor.
gcc -S hello.i
Vyššie uvedený príkaz vytvorí súbor zostavy 'hello.s.' Voľba '-s' sa používa na to, aby sa vytvoril kód zostavy a nie kód objektu.
Zhromaždenie: Kód zostavy sa prevedie na strojový kód. Vytvorí objektový súbor 'hello.o.'
as -o hello.o hello.s
Linker: Linker (ld.exe) je posledným krokom procesu kompilátora. Prepojí objektový kód s kódom knižnice a vytvorí spustiteľný súbor.
ld -o hello.exe hello.o
Vyššie uvedený príkaz vytvorí spustiteľný súbor 'hello.exe.'
Inštalácia GCC na Linuxe
Štandardne sa dodáva s väčšinou distribúcií Linuxu. Môžeme to overiť vykonaním nižšie uvedeného príkazu:
gcc -version
Vyššie uvedený príkaz zobrazí nainštalovanú verziu nástroja GCC. Ak nie je nainštalovaný, nainštalujte ho podľa nasledujúcich krokov:
Krok 1: Aktualizujte zoznam balíkov.
Ak chcete aktualizovať zoznam balíkov, vykonajte nasledujúci príkaz:
sudo apt update
Požiada o heslo správcu systému, zadajte heslo. Začne aktualizovať systémový balík. Zvážte nižšie uvedený prehľad výstupu:
Krok 2: Nainštalujte balík nevyhnutný na zostavenie.
Obsahuje rôzne balíky ako gcc, g++ a make utility. Na inštaláciu vykonajte nasledujúci príkaz:
sudo apt install build-essential
Vyššie uvedený príkaz nainštaluje požadované balíky pre pomôcku GCC. Teraz môžeme použiť nástroj GCC v našom stroji. Zvážte nižšie uvedený prehľad výstupu:
Krok 3: Overte inštaláciu.
Na overenie inštalácie spustite príkaz gcc -version takto:
sú replace
gcc --version
Zobrazí nainštalovanú verziu pomôcky GCC. Ak chcete zobraziť konkrétnejšie podrobnosti o verzii, použite možnosť „-v“. Zvážte nasledujúci výstup:
Tu sme úspešne nainštalovali pomôcku GCC. Poďme pochopiť, ako ho použiť. Vytvoríme a spustíme niektoré programy v c pomocou GCC.
Spustite prvý program C pomocou gcc
Vytvorte základnú c program 'Ahoj svet!'. Vytvorte súbor 'hello.c' a vložte do neho nasledujúci kód:
#include int main() { printf('Hello, world! '); return 0; }
Teraz zostavte hello.c takto:
gcc hello.c
Ak priamo spustíme hello.c, vyhodí chybu. Spravte ho spustiteľným, predvolený spustiteľný súbor pre systém Linux je a.out. Ak chcete spustiť súbor, vykonajte príkaz chmod takto:
chmod a+x a.out
Teraz spustite program c ako:
./a.out
Zvážte nasledujúci výstup:
Príklady príkazov GCC
Niektoré užitočné príklady príkazu gcc sú nasledovné:
V predvolenom nastavení príkaz gcc vytvorí súbor objektu ako 'a.out .' Ak chcete zmeniť predvolený názov výstupného súboru, použite '-O' možnosť.
Spustíme základný príkaz gcc:
gcc hello.c
Vyššie uvedený príkaz vygeneruje objektový súbor 'a.out.' Ak chcete zadať názov súboru objektu, vykonajte príkaz takto:
gcc hello.c -o hello
Vygeneruje výstupný súbor „ahoj“. Zvážte nasledujúci výstup:
Ak chcete povoliť všetky varovania vo výstupe, použite '-Stena' možnosť pomocou príkazu gcc. Vytvorme premennú v hlavnej funkcii hello.c. Zvážte nasledujúci kód:
ahoj.c:
#include int main() { int a; printf('Hello, world! '); return 0; }
Ak zostavíme vyššie uvedený kód pomocou voľby -Wall. Vyvolá to varovania. Na kompiláciu súboru vykonajte nasledujúci príkaz:
gcc -wall hello.c
Vyššie uvedený príkaz zobrazí varovania. Zvážte nasledujúci výstup:
Môžeme vytvoriť iba postupný výstup procesu kompilácie.
Vytvorte výstup preprocesora
Pomocou voľby '-E' môžeme vytvoriť iba výstup predspracovania. Zvážte nasledujúci príkaz:
gcc -E hello.c > hello.i
Z vyššie uvedeného príkazu súbor 'Ahoj ja' ktorý obsahuje predspracovaný výstup. Zvážte nasledujúci výstup:
Vytvorte kód zostavy
Ak chcete vytvoriť kód zostavy, vykonajte príkaz s voľbou '-S'. Zvážte nasledujúci príkaz:
gcc -S hello.c > hello.s
Vyššie uvedený príkaz vygeneruje 'hello.s.' súbor, ktorý obsahuje kód zostavy. Zvážte nasledujúci výstup:
Vytvorte skompilovaný kód
topológie
Pomocou voľby '-C' môžeme vytvoriť iba skompilovaný kód. Zvážte nasledujúci príkaz:
gcc -C hello.c
Vyššie uvedený príkaz vygeneruje súbor „a.out“, ktorý obsahuje iba strojový kód alebo kompilovaný kód. Zvážte nasledujúci výstup:
Vytvorte všetky prechodné súbory procesu kompilácie
Pomocou voľby '-save-temp' môžeme vytvoriť všetky prechodné súbory procesu kompilácie. Zvážte nasledujúci výstup:
gcc -save-temps hello.c
Vyššie uvedený príkaz vygeneruje všetky prechodné súbory, ako aj spustiteľné súbory naraz. Zvážte nasledujúci výstup:
Môžeme zobraziť podrobné informácie o každom kroku vykonanom príkazom gcc. Ak to chcete urobiť, vykonajte príkaz s voľbou '-v'.
gcc -W -v hello.c
Zvážte nižšie uvedený prehľad výstupu:
Diskutovali sme o niektorých najužitočnejších príkladoch príkazu gcc. Keďže príkaz gcc uľahčuje veľké množstvo možností, pri jeho používaní sa môžete zaseknúť kdekoľvek. Pozrime sa, ako získať pomoc z terminálu sami.
GCC manuál
Ak sa pri používaní príkazu gcc kdekoľvek zaseknete, môžete využiť pomoc svojho terminálu. Ak chcete získať prístup k príručke z príkazového riadka, vykonajte príkaz man nasledovne:
man gcc
Vyššie uvedený príkaz zobrazí príručku, ktorá obsahuje popis a zoznam podporovaných možností so stručným popisom. Zvážte nižšie uvedený prehľad výstupu:
môžete posúvať výstup a prečítať si viac. Stlačením klávesu „h“ získate pomoc a stlačením klávesu q opustíte príručku a vrátite sa späť do terminálu.