logo

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