logo

Compilarea cu g++

g++ comanda este o comandă de invocare a compilatorului GNU c++, care este utilizată pentru preprocesarea, compilarea, asamblarea și legarea codului sursă pentru a genera un fișier executabil. Diferitele opțiuni ale comenzii g++ ne permit să oprim acest proces în etapa intermediară.

  • Verificați informațiile despre versiunea compilatorului g++:
g++ --version>




  • Compilați un fișier CPP pentru a genera fișierul țintă executabil: g++ nume_fișier comanda este folosită pentru a compila și a crea un fișier executabil a.out (nume țintă implicit).
    Exemplu: Dat un program simplu pentru a imprima Hello Geek pe ieșire standard cu nume de fișier salut.cpp
CPP
// hello.cpp file #include  int main() {  std::cout << 'Hello Geek
';  return 0; }>


g++ hello.cpp>



Aceasta se compilează și se leagă salut.cpp pentru a produce un fișier executabil țintă implicit a.out în directorul de lucru actual. Pentru a rula acest program, tastați ./a.out Unde ./ reprezintă directorul de lucru prezent și a.out este fișierul țintă executabil.



./a.out>


  • g++ -S nume_fișier este folosit doar pentru a compila nume de fișier și nu asamblarea sau legarea. Va genera o nume_fișier.s fișier sursă de asamblare.
    Exemplu:
g++ -S hello.cpp>


numai com



vlc pentru a descărca youtube


  • g++ -c nume_fișier este folosit doar pentru a compila și a asambla nume de fișier și nu conectați codul obiect pentru a produce fișierul executabil. Va genera o nume_fișier.o fișier cod obiect în directorul de lucru actual.
    Exemplu:
g++ -c hello.cpp>


singur-c


  • g++ -o nume_țintă nume_fișier: Compilează și leagă nume de fișier și generează fișierul țintă executabil cu nume_țintă (sau a.out în mod implicit).
    Exemplu:
g++ -o main.exe hello.cpp>


  • Compilați și legați mai multe fișiere: Când -c este utilizat flag, invocă etapa de compilare care traduce codul sursă în cod obiect. Când este folosit flag -o, se leagă codul obiect pentru a crea fișierul executabil din nume_fișier.o la a.out(implicit) , mai multe fișiere pot fi transmise împreună ca argumente.
    Exemplu:
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>
  • Compilează și creează cod obiect pentru fișierele helloWorld.cpp și hello.cpp la helloWorld.o și respectiv hello.o.
g++ -o main.exe helloWorld.o hello.o>
  • Leagă codurile obiect helloWorld.o și hello.o pentru a crea un fișier executabil main.exe
./main.exe>
  • Rulează fișierul executabil main.exe
  • g++ -Nume_fișier de perete: Tipărește toate mesajele de avertizare care sunt generate în timpul compilării nume de fișier .
    Exemplu:
CPP
// hello.cpp file #include  int main() {  int i;  std::cout << 'Hello Geek
';  return 0; }>


g++ -Wall hello.cpp>
  • Extensia fișierelor pentru fișierele c++ poate fi .cpp sau .c++, .cpp este utilizat pe scară largă, dar .cpp și .c++ sunt exact aceleași și toate funcționalitățile de mai sus sunt aceleași și pentru .c++

a avertiza