Vistas de página en total

lunes, 25 de julio de 2011

Ejemplo de como Compilar en C++ bajo linux

El compilador GNU se invoca con el comando gcc. De manera predeterminada este comando preprocesará, compilará y en enlazará un programa de C. Existen muchas opciones para el gcc, y entre ellas existen controles que permiten ejecutar solo alguna fase de la secuencia proceso/compilación/enlace.

Ejemplo: 

           // Programa que lea 5 numeros y sacar la media//
Código:

#include <stdio.h>  // libreria estandar//

int n1,n2,n3,n4,n5; // declaracion de las variables//
float M;
float media(int a, int b, int c, int d, int e);

**Este tipo de archivo de extension: h, significa header, o sea cabecera, que es un archivo para ayudar a compilar mejor, ya que se usa para declarar, tanto las librerias a usar en el programa, como las funciones que haya distintos archivos, de una sola vez y antes de nada; para que no haya conflictos de recursividad**

Código:
// main.c //* GCC

#include "main.h" // librería de matematica//

int main()
{
    printf("Introduce 5 numeros para hacer su media\n"); // llamada de las variables//
    scanf("%i",&n1);
    printf("\n");
    scanf("%i",&n2);
    printf("\n");
    scanf("%i",&n3);
    printf("\n");
    scanf("%i",&n4);
    printf("\n");
    scanf("%i",&n5);
    M = media(n1,n2,n3,n4,n5);       // fórmula para el promedio //
    printf("\n La media es %.2f\n",M);
    system("PAUSE");
    return 0;
}

Si lo compilas, el resultado es el mismo, y para comprobarlo, compilalo. Hasta ahora no he enseñado a compilar usando varios archivos asi que doy una alternativa por cada SO.



Para Linux (Ubuntu):


Creo que hay poco que decir al respecto, la línea que nos interesa es:
Código:
gcc main.c main.h media.c -o main

El orden es:
Código:
gcc [objetos] [modo] [resultado] [liberias]


Puedes poner tantas funciones como quieras en archivos externos, pero siempre deben estar declaradas en una cabecera (main.h) que debe ser leida previamente a main.c, ya que para usar una función hay que declararla previamente. En los archivos separados, definimos las funciones, y lo que se suele hacer es una cabecera como la nuestra donde se declaren antes de empezar todas las funciones externas, para evitar conflictos.







No hay comentarios:

Publicar un comentario