logo

GCC Linux

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:

GCC Linux

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:

GCC Linux

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:

GCC Linux

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:

GCC Linux

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:

GCC Linux

Príklady príkazov GCC

Niektoré užitočné príklady príkazu gcc sú nasledovné:

    Zadajte názov súboru objektu

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:

GCC Linux
    Povoliť všetky upozornenia

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:

GCC Linux
    Vytvorte postupný výstup procesu kompilácie

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:

GCC Linux

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:

GCC Linux

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:

GCC Linux

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:

GCC Linux
    Vytlačte výstup podrobne.

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:

GCC Linux

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:

GCC Linux

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.