Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: prometheus48 en 2 Septiembre 2012, 20:24 pm



Título: Inclusion de archvos condicional.
Publicado por: prometheus48 en 2 Septiembre 2012, 20:24 pm
Hola,

Quería incluir el archivo de cabacera de SDL si no se ha hecho antes. Osea, algo como:

#ifndef SDL
#include <SDL/SDL.h>
#endif

Pero el tema es que no se que hacer en el #ifndef . Osea, no se que poner, si SDL o SDL_H or algo parecido.

Gracias y saludos.


Título: Re: Inclusion de archvos condicional.
Publicado por: Fire544 en 2 Septiembre 2012, 21:05 pm
Buenas !!! Mira lo que quieres es una compilacion condicional por lo que veo eeh, pero puedes hacer uso de las directivas #ifdef o #if, ten en cuenta que todas las directivas del preprocesador terminan con un #endif.

Código
  1. //Ejemplos: #ifdef
  2. #define _SDL_
  3.  
  4. #ifdef _SDL_
  5.  
  6. //se incluye la lib a la compilacion si la constante _SDL_ esta definida antes !!
  7.  
  8. #include <sdl/sdl.h>
  9.  
  10. #endif
  11.  

Nota: La directiva #ifdef es equivalente a usar #if define _SDL_

Tambien puedes usar la directiva #ifndef que a diferencia de #ifdef esta es equivalente a #if !define _SDL_

Código
  1. //ejemplo #ifndef
  2.  
  3. #ifndef _SDL_ //si no esta definida la constante entonces se cumple
  4.  
  5. #define _SDL_ //definimos constante
  6. //incluimos cabecera o lib.h
  7. #include <sdl/sdl.h>
  8. //terminamos inclusion
  9. #endif
  10.  

Suerte !!! prometheus48  :laugh:


Título: Re: Inclusion de archvos condicional.
Publicado por: prometheus48 en 4 Noviembre 2012, 21:23 pm
Muchísimas gracias! Perdón por contestar tan tarde, no tengo escusas.

Saludos Fire544!