Go to content Go to navigation

Compilar con g++

Jan 7, 12:29 AM


He estado haciendo unas pruebas con el g++, refrescando conocimientos de compilación... El caso es que crear un programa con Anjuta y Glade está muy bien, pero ¿como se hacía en plan básico?. Bien, pues este ejemplo es de prácticas de la carrera.

  1. Creamos las definiciones de nuestras clases en sus correspondientes ficheros .h
    /*******************/
    /* miclase.h */
    /*******************/
    class miclase
    {
    public:

    void escribe();
    };
  2. Introducimos el código en el correspondiente fichero .cc
    /*******************/
    /* miclase.cc */
    /*******************/
    #include <iostream>
    #include "./miclase.h"

    using std::cout;
    using std::cin;
    using std::endl;

    void miclase::escribe()
    {
    cout << "Hola mundo" << endl;
    }
  3. Creamos la funcion main en el fichero idem
    /*******************/
    /* main.cc */
    /*******************/
    #include "./miclase.h"
    #include <iostream>

    int main()
    {
    miclase m;

    m.escribe();
    std::cout << "Bieeeeen" << std::endl;

    return(0);
    }
  4. Compilamos con g++ incluyendo los .cc, pero no los .h
    g++ miclase.cc main.cc -o miclase.bin

Es importante el tema de los includes. En cada archivo .cc, es necesario incluir aquellas cabeceras necesarias, sin darse por incluidas por otros archivos .cc. El iostream de main.cc es necesario para usar std::cout , y hay que ponerlo aunque aparezca en miclase.cc. En cambio, no sería necesario si estuviese incluido en miclase.h .

Por otro lado, si quisieramos abreviar en archivos, siempre podríamos incluir el código de los métodos de la clase en el archivo de cabecera y evitarnos el miclase.cc .

<< Configuración PocketPC Emparejar un móvil >>