Kompilacja z g++

Kompilacja z g++

g++ polecenie to polecenie wywołania kompilatora GNU C++, które służy do wstępnego przetwarzania, kompilacji, składania i łączenia kodu źródłowego w celu wygenerowania pliku wykonywalnego. Różne opcje polecenia g++ pozwalają nam zatrzymać ten proces na etapie pośrednim.

  • Sprawdź informacje o wersji kompilatora g++:
g++ --version 


  • Skompiluj plik CPP, aby wygenerować wykonywalny plik docelowy: g++ nazwa_pliku polecenie służy do kompilacji i utworzenia pliku wykonywalnego a.out (domyślna nazwa celu).
    Przykład: Biorąc pod uwagę prosty program do wypisywania Hello Geek na standardowe wyjście z nazwą pliku cześć.cpp
CPP
// hello.cpp file #include  int main() {  std::cout  < < 'Hello Geek
';  return 0; } 


g++ hello.cpp 



To się kompiluje i łączy cześć.cpp aby utworzyć domyślny docelowy plik wykonywalny a.out w bieżącym katalogu roboczym. Aby uruchomić ten program, wpisz ./a.out Gdzie ./ reprezentuje bieżący katalog roboczy i a.out jest wykonywalnym plikiem docelowym.

./a.out 


  • g++ -S nazwa_pliku służy tylko do kompilacji Nazwa pliku I nie montaż lub łączenie. Wygeneruje nazwa_pliku.s plik źródłowy zestawu.
    Przykład:
g++ -S hello.cpp 


tylko com


  • g++ -c nazwa_pliku służy wyłącznie do kompilacji i asemblowania plików Nazwa pliku I nie połącz kod obiektowy, aby utworzyć plik wykonywalny. Wygeneruje nazwa_pliku.o plik kodu obiektowego w bieżącym katalogu roboczym.
    Przykład:
g++ -c hello.cpp 


pojedynczy-c


  • g++ -o nazwa_docelowa nazwa_pliku: Kompiluje i łączy Nazwa pliku i generuje wykonywalny plik docelowy za pomocą nazwa_celu (lub domyślnie a.out).
    Przykład:
g++ -o main.exe hello.cpp 


  • Skompiluj i połącz wiele plików: Gdy -C używana jest flaga, wywołuje ona etap kompilatora, który tłumaczy kod źródłowy na kod obiektowy. Gdy używana jest flaga -o, łączy kod obiektowy w celu utworzenia pliku wykonywalnego nazwa_pliku.o Do a.out (domyślnie) , wiele plików może być przekazywanych razem jako argumenty.
    Przykład:
CPP
// hello.cpp file #include 'helloWorld.h' #include  int main() {  std::cout  < < 'Hello Geek
';  helloWorld();  return 0; } 


CPP
// helloWorld.cpp file #include  void helloWorld() {  std::cout  < < 'Hello World
'; } 


CPP
// helloWorld.h file void helloWorld(); 


g++ -c helloWorld.cpp hello.cpp 
  • Kompiluje i tworzy kod obiektowy dla plików helloWorld.cpp i hello.cpp odpowiednio do helloWorld.o i hello.o.
g++ -o main.exe helloWorld.o hello.o 
  • Łączy kody obiektowe helloWorld.o i hello.o, tworząc plik wykonywalny main.exe
./main.exe 
  • Uruchamia plik wykonywalny main.exe
  • g++ -Nazwa pliku ściany: Wypisuje wszystkie komunikaty ostrzegawcze generowane podczas kompilacji Nazwa pliku .
    Przykład:
CPP
// hello.cpp file #include  int main() {  int i;  std::cout  < < 'Hello Geek
';  return 0; } 


g++ -Wall hello.cpp 
  • Rozszerzeniem plików plików C++ może być .cpp lub .c++, .cpp jest powszechnie używane, ale .cpp i .c++ są dokładnie takie same, a wszystkie powyższe funkcje są takie same również dla .c++

ostrzegać