Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: x64core en 14 Septiembre 2012, 23:09 pm



Título: Compilar codigo condicional
Publicado por: x64core en 14 Septiembre 2012, 23:09 pm
Hola a todos, quisiera saber si alguien sabé como puedo agregar un case condicional para el compilador basado en una agregacion de
una cabecera, veran tengo un switch:


switch(h)
{
   case a1:
   ...
   break;
   case a2:
   ....
   break;
// quiero que sea condicional este case ////////////
   case a3:
   ...
   ...
   break;
//////////////////////////////////////////////////////////
}


me gustaria que depenciendo si agrego una X cabecera (.h) compilara o no ese codigo, por ejemplo si agrego #include "a.h" ese case
se compila de lo contrario no lo haga, intente jugar un poco con los #if, etc pero no logre :P alguien lo ha hecho?

Gracias


Título: Re: Compilar codigo condicional
Publicado por: avesudra en 14 Septiembre 2012, 23:49 pm
Es muy fácil RHL , he pensado un poquito porque no lo entendía, mira tu tienes tu a.h(mira los comentarios eh)
Código
  1. #define ESTAINCLUIDO 0 ;Lo definimos , para ver si está definido en el .c , si se agrega esto pues estará definido.
  2.  
y tu a.c
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(int argc,char **argv)
  5. {
  6.    int h = 0; //para que se vea un ejemplo correcto , no es para más.
  7.    switch(h)
  8.    {
  9.    case a1:
  10.        //codigo
  11.        break;
  12.    case a2:
  13.        //codigo
  14.        break;
  15. //Esta instrucción se entiende como , si está definido...
  16. #ifdef ESTAINCLUIDO //Si agregamos el archivo a.h estará definido ,entonces compilará el trozo de código encerrado entre el #ifdef y el #endif
  17. //los cases y el código que quieras...
  18.    case a3:
  19.        //codigo
  20.        break;
  21. //Esta directiva del preprocesador se interpreta como que se acaba el trozo que puede , o nó, compilar.
  22. #endif
  23.    }
  24. }
  25. return 0;
  26. }
  27.  
  28.  
¡Un saludo!


Título: Re: Compilar codigo condicional
Publicado por: x64core en 14 Septiembre 2012, 23:57 pm
Gracias  :)