Kompilerar med g++
g++ kommando är ett GNU c++ kompilatoranropskommando, som används för förbearbetning, kompilering, sammansättning och länkning av källkod för att generera en körbar fil. De olika alternativen för kommandot g++ tillåter oss att stoppa denna process i mellanstadiet.
- Kontrollera g++ kompilatorversionsinformation:
g++ --version
- Kompilera en CPP-fil för att generera körbar målfil: g++ filnamn kommandot används för att kompilera och skapa en körbar fil a.ut (standardmålnamn).
Exempel: Givet ett enkelt program för att skriva ut Hello Geek på standardutdata med filnamn hej.cpp
// hello.cpp file #include int main() { std::cout < < 'Hello Geek
'; return 0; }
g++ hello.cpp
Detta sammanställer och länkar hej.cpp för att skapa en standardkörbar målfil a.ut i nuvarande arbetskatalog. För att köra det här programmet, skriv ./a.ut var ./ representerar nuvarande arbetskatalog och a.ut är den körbara målfilen.
./a.out
- g++ -S filnamn används endast för att kompilera filnamn och inte montering eller länkning. Det kommer att generera en filnamn.s assembly källfil.
Exempel:
g++ -S hello.cpp
- g++ -c filnamn används endast för att kompilera och montera filnamn och inte länka objektkoden för att skapa en körbar fil. Det kommer att generera en filnamn.o objektkodfil i nuvarande arbetskatalog.
Exempel:
g++ -c hello.cpp
- g++ -o målnamn filnamn: Kompilerar och länkar filnamn och genererar körbar målfil med målnamn (eller a.out som standard).
Exempel:
g++ -o main.exe hello.cpp
- Kompilera och länka flera filer: När -c flaggan används, den anropar kompilatorsteget som översätter källkod till objektkod. När -o flaggan används länkar den objektkod för att skapa den körbara filen från filnamn.o till a.out(standard) , kan flera filer skickas tillsammans som argument.
Exempel:
// hello.cpp file #include 'helloWorld.h' #include int main() { std::cout < < 'Hello Geek
'; helloWorld(); return 0; }
// helloWorld.cpp file #include void helloWorld() { std::cout < < 'Hello World
'; }
// helloWorld.h file void helloWorld();
g++ -c helloWorld.cpp hello.cpp
- Den kompilerar och skapar objektkod för filerna helloWorld.cpp och hello.cpp till helloWorld.o respektive hello.o.
g++ -o main.exe helloWorld.o hello.o
- Den länkar objektkoderna helloWorld.o och hello.o för att skapa en körbar fil main.exe
./main.exe
- Den kör den körbara filen main.exe
- g++ -Vägg filnamn: Den skriver ut alla varningsmeddelanden som genereras under kompileringen av filnamn .
Exempel:
// hello.cpp file #include int main() { int i; std::cout < < 'Hello Geek
'; return 0; }
g++ -Wall hello.cpp
- Filtillägget för c++-filer kan vara .cpp eller .c++, .cpp används ofta men .cpp och .c++ är exakt samma och alla ovanstående funktioner är desamma för .c++ också