logo

GCC Linux

V Linuxu znamená GCC Kolekce kompilátorů GNU . Jedná se o kompilační systém pro různé programovací jazyky. Používá se hlavně ke kompilaci programů C a C++. Jako nezbytný argument bere jméno zdrojového programu; argumenty rest jsou volitelné, jako je ladění, varování, objektový soubor a propojení knihoven.

GCC je základní součástí GNU toolchainu. Různé open-source projekty jsou kompilovány pomocí GCC, jako je jádro Linuxu a nástroje GNU.

Je distribuován pod licencí GPL (General Public License). první verze, GCC 1.0 , byl vydán v roce 1987. Byl pouze pro programovací jazyk C, ale ve stejném roce byl rozšířen o Programovací jazyk C++ . Později byl vyvinut pro další programovací jazyky jako Objective-C, Objective-C++, Fortran, Jáva , Ada, Go a další. Jeho nejnovější verze má mnohem vylepšenou implementaci programovacích jazyků.

Je oficiálním partnerem GNU OS; proto byl přijat jako standardní kompilátor systémů založených na Linuxu.

testování a typy testování

Součásti GCC

GCC je přenosný nástroj a může běžet na mnoha operačních systémech. Také to může být přeneseno na Okna pomocí některých nástrojů jako např Cygwin, MinGW a MinGW-W64 . Protože se jedná o klíčovou součást GNU toolchainu, obsahuje následující součásti pro vývoj aplikací a operačních systémů:

GNU Compiler Collection (GCC): Jedná se o sadu kompilátorů pro mnoho jazyků, jako je C/C++ a Objective-C/C++.

Značka GNU: Jedná se o automatizační nástroj, který se používá ke kompilaci a sestavování aplikací.

GNU Binutils: Jedná se o sadu, která obsahuje binární utility nástroje jako např linker a assembler .

GNU Debugger (GDB). Používá se k ladění aplikací.

GNU Autotools: Jedná se o sestavovací systém, který obsahuje některé nástroje, jako je Autoconf, Autoheader, Automake a Libtool.

GNU Bison: Je to generátor analyzátoru jako lex a yacc.

Proces kompilátoru GCC

GCC zkompiluje a udělá spustitelný program v následujících čtyřech krocích:

GCC Linux

Předzpracování: V tomto kroku GNU preprocesor (cpp.exe) vytvoří přechodný soubor se zdrojovým kódem. Preprocesor zahrnuje záhlaví (#include) a rozšiřuje makra (#define). Zvažte níže uvedený příkaz:

 cpp hello.c > hello.i 

Výše uvedený příkaz vytvoří přechodný soubor 'hello.i.'

Sestavení: V tomto kroku je předzpracovaný zdrojový kód zkompilován do kódu sestavení pro konkrétní procesor.

 gcc -S hello.i 

Výše uvedený příkaz vytvoří soubor sestavení 'hello.s.' Volba '-s' se používá k určení, že se vytvoří kód sestavení spíše než objektový kód.

Shromáždění: Kód sestavy se převede na strojový kód. Vytvoří objektový soubor 'hello.o.'

 as -o hello.o hello.s 

Linker: Linker (ld.exe) je posledním krokem procesu kompilátoru. Propojí objektový kód s kódem knihovny a vytvoří spustitelný soubor.

 ld -o hello.exe hello.o 

Výše uvedený příkaz vytvoří spustitelný soubor 'hello.exe.'

Instalace GCC na Linux

Ve výchozím nastavení je dodáván s většinou distribucí Linuxu. Můžeme to ověřit provedením níže uvedeného příkazu:

 gcc -version 

Výše uvedený příkaz zobrazí nainstalovanou verzi nástroje GCC. Pokud není nainstalován, nainstalujte jej podle následujících kroků:

Krok 1: Aktualizujte seznam balíčků.

Chcete-li aktualizovat seznam balíčků, proveďte následující příkaz:

 sudo apt update 

Požádá vás o heslo správce systému, zadejte heslo. Začne aktualizovat systémový balíček. Zvažte níže uvedený snímek výstupu:

GCC Linux

Krok 2: Nainstalujte balíček build-essential.

Obsahuje různé balíčky jako gcc, g++ a make utility. Chcete-li jej nainstalovat, spusťte níže uvedený příkaz:

 sudo apt install build-essential 

Výše uvedený příkaz nainstaluje požadované balíčky pro nástroj GCC. Nyní můžeme použít nástroj GCC v našem počítači. Zvažte níže uvedený snímek výstupu:

GCC Linux

Krok 3: Ověřte instalaci.

Chcete-li ověřit instalaci, spusťte příkaz gcc -version takto:

 gcc --version 

Zobrazí nainstalovanou verzi nástroje GCC. Chcete-li zobrazit konkrétnější podrobnosti o verzi, použijte volbu '-v'. Zvažte následující výstup:

GCC Linux

Zde jsme úspěšně nainstalovali nástroj GCC. Pojďme pochopit, jak to používat. Vytvoříme a spustíme některé programy v c pomocí GCC.

Spusťte první program C pomocí gcc

Vytvořte základní c program 'Ahoj světe!'. Vytvořte soubor 'hello.c' a vložte do něj níže uvedený kód:

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

Nyní zkompilujte hello.c následovně:

 gcc hello.c 

Pokud přímo spustíme hello.c, vyhodí chybu. Udělejte to spustitelným, výchozí spustitelný soubor pro systém Linux je a.out. Chcete-li soubor spustit, spusťte příkaz chmod následovně:

 chmod a+x a.out 

Nyní spusťte program c jako:

 ./a.out 

Zvažte následující výstup:

co je obj v javě
GCC Linux

Příklady příkazů GCC

Některé užitečné příklady příkazu gcc jsou následující:

    Zadejte název souboru objektu

Ve výchozím nastavení příkaz gcc vytvoří soubor objektu jako 'a.out .' Pokud chcete změnit výchozí název výstupního souboru, použijte '-Ó' volba.

Proveďme základní příkaz gcc:

 gcc hello.c 

Výše uvedený příkaz vygeneruje objektový soubor 'a.out.' Chcete-li zadat název souboru objektu, spusťte příkaz následovně:

 gcc hello.c -o hello 

Vygeneruje výstupní soubor 'ahoj'. Zvažte následující výstup:

GCC Linux
    Povolit všechna varování

Chcete-li povolit všechna varování ve výstupu, použijte '-Stěna' možnost pomocí příkazu gcc. Vytvořme proměnnou v hlavní funkci hello.c. Zvažte níže uvedený kód:

Ahoj C:

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

Pokud zkompilujeme výše uvedený kód pomocí volby -Wall. Vyvolá to varování. Pro kompilaci souboru spusťte níže uvedený příkaz:

 gcc -wall hello.c 

Výše uvedený příkaz zobrazí varování. Zvažte následující výstup:

GCC Linux
    Vytvořte postupný výstup procesu kompilace

Můžeme vytvořit pouze postupný výstup procesu kompilace.

Vytvořte výstup preprocesoru

Můžeme vytvořit pouze výstup předběžného zpracování pomocí volby '-E'. Zvažte níže uvedený příkaz:

 gcc -E hello.c > hello.i 

Z výše uvedeného příkazu soubor 'ahoj.i' který obsahuje předzpracovaný výstup. Zvažte následující výstup:

GCC Linux

Vytvořte kód sestavy

Chcete-li vytvořit kód sestavení, spusťte příkaz s volbou '-S'. Zvažte níže uvedený příkaz:

 gcc -S hello.c > hello.s 

Výše uvedený příkaz vygeneruje 'hello.s.' soubor, který obsahuje kód sestavení. Zvažte následující výstup:

GCC Linux

Vytvořte zkompilovaný kód

datové typy java

Můžeme vytvořit pouze zkompilovaný kód pomocí volby '-C'. Zvažte níže uvedený příkaz:

 gcc -C hello.c 

Výše uvedený příkaz vygeneruje soubor 'a.out' obsahující pouze strojový kód nebo zkompilovaný kód. Zvažte následující výstup:

GCC Linux

Vytvořte všechny přechodné soubory procesu kompilace

Můžeme vytvořit všechny přechodné soubory procesu kompilace pomocí volby '-save-temp'. Zvažte následující výstup:

 gcc -save-temps hello.c 

Výše uvedený příkaz vygeneruje všechny přechodné soubory a také spustitelné soubory najednou. Zvažte následující výstup:

GCC Linux
    Vytiskněte výstup podrobně.

Můžeme zobrazit podrobné informace o každém kroku provedeném příkazem gcc. Chcete-li tak učinit, spusťte příkaz s volbou '-v'.

 gcc -W -v hello.c 

Zvažte níže uvedený snímek výstupu:

GCC Linux

Probrali jsme některé nejužitečnější příklady příkazu gcc. Protože příkaz gcc usnadňuje velké množství možností, můžete se při jeho používání kdekoli zaseknout. Podívejme se, jak získat pomoc z terminálu sami.

GCC manuál

Pokud se při používání příkazu gcc kdekoli zaseknete, můžete využít pomoc svého terminálu. Pro přístup k příručce z příkazového řádku spusťte příkaz man následovně:

 man gcc 

Výše uvedený příkaz zobrazí příručku, která obsahuje popis a seznam podporovaných možností se stručným popisem. Zvažte níže uvedený snímek výstupu:

GCC Linux

můžete posouvat výstup a přečíst si více. Stisknutím tlačítka 'h' zobrazíte nápovědu a stisknutím tlačítka q opustíte příručku a vrátíte se k terminálu.