logo

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ć


kontrola programu zapisanego w pamięci