Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/08/2010, 12:03
Avatar de calambrenet
calambrenet
 
Fecha de Ingreso: julio-2010
Ubicación: Jaén
Mensajes: 162
Antigüedad: 13 años, 9 meses
Puntos: 18
Respuesta: Preprocesador de c

Mejor explicarlo con un ejemplo:
Imagina que tienes un programa con un fichero principal "main.c"

main.c
Código:
#include <stdio.h>
#include "llamar_adios.h"

int main(void)
{
  printf("hola\n");
  llamar_adios();

  return 0;
}
Ahora creamos un fichero aparte donde creamos la función "llamar_adios()"

llamar_adios.c
Código:
#include <stdio.h>
#include "llamar_adios.h"

void llamar_adios(void)
{
  printf("Adios nenitas\n");
}
Ahora para que main pueda usar ésta función tenemos que crear un fichero header donde declararla. Pero cuando compilemos el proyecto, el fichero "llamar_adios.h" se compilará dos veces porque esta incluido en dos ficheros c. Lo ideal es que se lea una vez y lo ingnore la segunda. Para eso se usa el sistema del preprocesador:

llamar_adios.h
Código:
#ifndef _LLAMAR_ADIOS_H_    //si no está declarada esta constante...
#define _LLAMAR_ADIOS_H_    //pues la definimos 

void llamar_adios(void);    //y declaramos la función

#endif                //fin. La proxima vez que lea este fichero, todo esto lo ingnorará porque la constante _LLAMAR_ADIOS_H_ está declarada.
¿Te has enterado? fácil no?