logo

Compilant amb g++

g++ L'ordre és una ordre d'invocació del compilador GNU c++, que s'utilitza per al preprocessament, la compilació, el muntatge i l'enllaç del codi font per generar un fitxer executable. Les diferents opcions de l'ordre g++ ens permeten aturar aquest procés en l'etapa intermèdia.

  • Comproveu la informació de la versió del compilador de g++:
g++ --version>




  • Compileu un fitxer CPP per generar un fitxer de destinació executable: g++ nom_fitxer L'ordre s'utilitza per compilar i crear un fitxer executable a.fora (nom de destinació per defecte).
    Exemple: S'ha donat un programa senzill per imprimir Hello Geek a la sortida estàndard amb el nom del fitxer hola.cpp
CPP
// hello.cpp file #include  int main() {  std::cout << 'Hello Geek
';  return 0; }>


g++ hello.cpp>



Això compila i enllaça hola.cpp per produir un fitxer executable de destinació predeterminat a.fora al directori de treball actual. Per executar aquest programa, escriviu ./a.out on ./ representa el directori de treball actual i a.fora és el fitxer de destinació executable.



./a.out>


  • g++ -S nom_fitxer s'utilitza només per compilar el nom de l'arxiu i no muntatge o enllaç. Generarà a nom_fitxer.s fitxer font del muntatge.
    Exemple:
g++ -S hello.cpp>


només com




  • g++ -c nom_fitxer s'utilitza només per compilar i muntar el nom de l'arxiu i no enllaça el codi objecte per produir un fitxer executable. Generarà a nom_fitxer.o fitxer de codi objecte al directori de treball actual.
    Exemple:
g++ -c hello.cpp>


sol-c


  • g++ -o nom_destí nom_fitxer: Compila i enllaça nom de l'arxiu i genera un fitxer de destinació executable amb nom_destinació (o a.out per defecte).
    Exemple:
g++ -o main.exe hello.cpp>


  • Compilar i enllaçar diversos fitxers: Quan -c s'utilitza el flag, invoca l'etapa del compilador que tradueix el codi font a codi objecte. Quan s'utilitza el senyalador -o, enllaça el codi objecte per crear el fitxer executable des de nom_fitxer.o a a.out (per defecte) , es poden passar múltiples fitxers junts com a arguments.
    Exemple:
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>
  • Compila i crea codi objecte per als fitxers helloWorld.cpp i hello.cpp a helloWorld.o i hello.o respectivament.
g++ -o main.exe helloWorld.o hello.o>
  • Enllaça els codis d'objecte helloWorld.o i hello.o per crear un fitxer executable main.exe
./main.exe>
  • Executa el fitxer executable main.exe
  • g++ -Nom_fitxer de paret: Imprimeix tots els missatges d'advertència que es generen durant la compilació de nom de l'arxiu .
    Exemple:
CPP
// hello.cpp file #include  int main() {  int i;  std::cout << 'Hello Geek
';  return 0; }>


g++ -Wall hello.cpp>
  • L'extensió de fitxer per als fitxers c++ pot ser .cpp o .c++, .cpp s'utilitza àmpliament, però .cpp i .c++ són exactament iguals i totes les funcionalitats anteriors també són les mateixes per a .c++

avisar