Kompilace s g++
g++ je příkaz vyvolání kompilátoru GNU c++, který se používá pro předběžné zpracování, kompilaci, sestavení a propojení zdrojového kódu za účelem generování spustitelného souboru. Různé možnosti příkazu g++ nám umožňují zastavit tento proces v přechodné fázi.
- Zkontrolujte informace o verzi kompilátoru g++:
g++ --version
- Zkompilujte soubor CPP a vygenerujte spustitelný cílový soubor: g++ název_souboru příkaz se používá ke kompilaci a vytvoření spustitelného souboru a.out (výchozí název cíle).
Příklad: Díky jednoduchému programu pro tisk Hello Geek na standardní výstup s názvem souboru ahoj.cpp
// hello.cpp file #include int main() { std::cout < < 'Hello Geek
'; return 0; }
g++ hello.cpp
Toto se zkompiluje a propojí ahoj.cpp vytvořit výchozí cílový spustitelný soubor a.out v aktuálním pracovním adresáři. Chcete-li spustit tento program, zadejte ./a.out kde ./ představuje aktuální pracovní adresář a a.out je spustitelný cílový soubor.
./a.out
- g++ -S název_souboru se používá pouze ke kompilaci název souboru a ne sestavení nebo propojení. Vygeneruje a název_souboru.s zdrojový soubor sestavy.
Příklad:
g++ -S hello.cpp
- g++ -c název_souboru se používá pouze ke kompilaci a sestavení název souboru a ne propojit objektový kód a vytvořit spustitelný soubor. Vygeneruje a název_souboru.o soubor objektového kódu v aktuálním pracovním adresáři.
Příklad:
g++ -c hello.cpp
- g++ -o target_name název_souboru: Kompilace a odkazy název souboru a vygeneruje spustitelný cílový soubor s název_cíle (nebo standardně a.out).
Příklad:
g++ -o main.exe hello.cpp
- Kompilace a propojení více souborů: Když -C je použit příznak, vyvolá fázi kompilátoru, která přeloží zdrojový kód na objektový kód. Když je použit příznak -o, propojí objektový kód a vytvoří spustitelný soubor z název_souboru.o na a.out (výchozí) , vícenásobné soubory mohou být předány společně jako argumenty.
Příklad:
// hello.cpp file #include 'helloWorld.h' #include int main() { std::cout < < 'Hello Geek
'; helloWorld(); return 0; }
// helloWorld.cpp file #include void helloWorld() { std::cout < < 'Hello World
'; }
// helloWorld.h file void helloWorld();
g++ -c helloWorld.cpp hello.cpp
- Kompiluje a vytváří objektový kód pro soubory helloWorld.cpp a hello.cpp až helloWorld.o a hello.o.
g++ -o main.exe helloWorld.o hello.o
- Propojí objektové kódy helloWorld.o a hello.o a vytvoří spustitelný soubor main.exe
./main.exe
- Spustí spustitelný soubor main.exe
- g++ -Název_souboru zdi: Vytiskne všechny varovné zprávy, které jsou generovány během kompilace název souboru .
Příklad:
// hello.cpp file #include int main() { int i; std::cout < < 'Hello Geek
'; return 0; }
g++ -Wall hello.cpp
- Přípona souboru pro soubory c++ může být .cpp nebo .c++, .cpp je široce používán, ale .cpp a .c++ jsou úplně stejné a všechny výše uvedené funkce jsou stejné i pro .c++