Compilando con g++

El comando g ++ es un comando de invocación del compilador GNU c ++, que se utiliza para el preprocesamiento, la compilación, el ensamblaje y la vinculación del código fuente para generar un archivo ejecutable. Las diferentes “opciones” del comando g++ nos permiten detener este proceso en la etapa intermedia. 
 

  • Verifique la información de la versión del compilador g ++:
     
g++ --version

  • Compile un archivo CPP para generar un archivo de destino ejecutable: el comando g ++ file_name se usa para compilar y crear un archivo ejecutable a.out (nombre de destino predeterminado).
    Ejemplo: dado un programa simple para imprimir «Hello Geek» en la salida estándar con el nombre de archivo hello.cpp
     

CPP

// hello.cpp file
#include <iostream>
int main()
{
    std::cout << "Hello Geek\n";
    return 0;
}
g++ hello.cpp

Esto compila y vincula hello.cpp para producir un archivo ejecutable de destino predeterminado a.out en el directorio de trabajo actual. Para ejecutar este programa, escriba ./a.out , donde ./ representa el directorio de trabajo actual y a.out es el archivo de destino ejecutable.
 

./a.out

  • g ++ -S file_name se usa solo para compilar el file_name y no para ensamblar o vincular. Generará un archivo de origen de ensamblaje file_name.s .
    Ejemplo:
     
g++ -S hello.cpp

  • g++ -c nombre_archivo se usa solo para compilar y ensamblar el nombre_archivo y no vincular el código objeto para producir un archivo ejecutable. Generará un archivo de código de objeto file_name.o en el directorio de trabajo actual.
    Ejemplo:
     
g++ -c hello.cpp

  • g++ -o target_name file_name: compila y vincula file_name y genera un archivo de destino ejecutable con target_name (o a.out de forma predeterminada).
    Ejemplo:
     
g++ -o main.exe hello.cpp

  • Compile y vincule varios archivos: cuando se usa el indicador -c , invoca la etapa del compilador que traduce el código fuente en código objeto. Cuando se usa el indicador -o, vincula el código objeto para crear el archivo ejecutable desde file_name.o a a.out( predeterminado) , se pueden pasar varios archivos juntos como argumentos.
    Ejemplo:
     

CPP

// hello.cpp file
#include "helloWorld.h"
#include <iostream>
int main()
{
    std::cout << "Hello Geek\n";
    helloWorld();
    return 0;
}

CPP

// helloWorld.cpp file
#include <iostream>
void helloWorld()
{
    std::cout << "Hello World\n";
}

CPP

// helloWorld.h file
void helloWorld();
g++ -c helloWorld.cpp hello.cpp
  • Compila y crea código objeto para los archivos helloWorld.cpp y hello.cpp a helloWorld.o y hello.o respectivamente.
     
g++ -o main.exe helloWorld.o hello.o
  • Vincula los códigos de objeto helloWorld.o y hello.o para crear un archivo ejecutable main.exe
     
./main.exe
  • Ejecuta el archivo ejecutable main.exe
     

  • g++ -Wall file_name: Imprime todos los mensajes de advertencia que se generan durante la compilación de file_name .
    Ejemplo:
     

CPP

// hello.cpp file
#include <iostream>
int main()
{
    int i;
    std::cout << "Hello Geek\n";
    return 0;
}
g++ -Wall hello.cpp
  • La extensión de archivo para archivos c++ puede ser .cpp o .c++, .cpp se usa ampliamente, pero .cpp y .c++ son exactamente iguales y todas las funcionalidades anteriores también son las mismas para .c++


Publicación traducida automáticamente

Artículo escrito por akshatmahla y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *