Kääntäminen g++:lla

Kääntäminen g++:lla

g++ -komento on GNU c++ -kääntäjän kutsukomento, jota käytetään lähdekoodin esikäsittelyyn, kokoamiseen, kokoamiseen ja linkittämiseen suoritettavan tiedoston luomiseksi. g++-komennon eri vaihtoehdot antavat meille mahdollisuuden pysäyttää tämä prosessi välivaiheessa.

  • Tarkista g++-kääntäjän versiotiedot:
g++ --version 


  • Käännä CPP-tiedosto suoritettavan kohdetiedoston luomiseksi: g++-tiedoston_nimi komentoa käytetään suoritettavan tiedoston kääntämiseen ja luomiseen a.out (oletuskohteen nimi).
    Esimerkki: Annettu yksinkertainen ohjelma tulostaa Hello Geek vakiotulostukseen tiedostonimellä hello.cpp
CPP
// hello.cpp file #include  int main() {  std::cout  < < 'Hello Geek
';  return 0; } 


g++ hello.cpp 



Tämä kokoaa ja linkittää hello.cpp oletusarvoisen suoritettavan kohdetiedoston tuottamiseksi a.out nykyisessä työhakemistossa. Suorita tämä ohjelma kirjoittamalla ./a.out missä ./ edustaa nykyistä työhakemistoa ja a.out on suoritettava kohdetiedosto.

./a.out 


  • g++ -S-tiedoston_nimi käytetään vain kääntämään Tiedoston nimi ja ei kokoaminen tai yhdistäminen. Se tuottaa a tiedoston_nimi.s kokoonpanon lähdetiedosto.
    Esimerkki:
g++ -S hello.cpp 


vain com


  • g++ -c tiedoston_nimi käytetään vain kääntämään ja kokoamaan Tiedoston nimi ja ei linkitä objektikoodi tuottaaksesi suoritettavan tiedoston. Se tuottaa a tiedoston_nimi.o objektikooditiedosto nykyisessä työhakemistossa.
    Esimerkki:
g++ -c hello.cpp 


yksi-c


  • g++ -o kohteen_nimi tiedoston_nimi: Kokoelmat ja linkit Tiedoston nimi ja luo suoritettavan kohdetiedoston kanssa kohteen_nimi (tai oletuksena a.out).
    Esimerkki:
g++ -o main.exe hello.cpp 


  • Kokoa ja linkitä useita tiedostoja: Kun -c lippua käytetään, se kutsuu kääntäjävaiheen, joka kääntää lähdekoodin objektikoodiksi. Kun -o-lippua käytetään, se linkittää objektikoodin suoritettavan tiedoston luomiseksi tiedoston_nimi.o to a.out (oletus) , useita tiedostoja voidaan välittää yhdessä argumenteina.
    Esimerkki:
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 
  • Se kokoaa ja luo objektikoodin tiedostoille helloWorld.cpp ja hello.cpp tiedostoille helloWorld.o ja hello.o.
g++ -o main.exe helloWorld.o hello.o 
  • Se linkittää objektikoodit helloWorld.o ja hello.o luodakseen suoritettavan tiedoston main.exe
./main.exe 
  • Se suorittaa suoritettavan tiedoston main.exe
  • g++ -Seinätiedoston_nimi: Se tulostaa kaikki varoitusviestit, jotka syntyvät käännöksen aikana Tiedoston nimi .
    Esimerkki:
CPP
// hello.cpp file #include  int main() {  int i;  std::cout  < < 'Hello Geek
';  return 0; } 


g++ -Wall hello.cpp 
  • C++-tiedostojen tiedostotunniste voi olla .cpp tai .c++ , .cpp on laajalti käytetty, mutta .cpp ja .c++ ovat täsmälleen samat ja kaikki yllä olevat toiminnot ovat samat myös .c++:lle

varoittaa