SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: © Jonathan © en Viernes 2 de Mayo de 2003, 01:30

Título: Re: #IF #ELSE
Publicado por: © Jonathan © en Viernes 2 de Mayo de 2003, 01:30
Hola, tengo una confucion, duda y de todo un poco mas, todo eso se debe a lo siguiente:

#IF, #ELSE, ENDIF, etc...

Quisiera saber para que me puede servir eso.... en un libro lei que servian para compilar un programa de diferente forma dependiendo de los datos que se encuentren entre estas palabras, pero no entiendo para que quisiera hacer algo asi, si supuestamente vas a compilar algo que quieres y ya esta hecho como pueden cambiar los datos

 Estoy mareado .... Perdon por toda la confucion que estoy causando, y espero alguna respuesta hacerca del tema...Gracias. Saludos :think: :think:
Título: Re: #IF #ELSE
Publicado por: desorden en Viernes 2 de Mayo de 2003, 04:05
Pues tiene muchas ventajas. Que yo haya aprovechado:


Por ejemplo, si quieres que tu programa borre la pantalla en varios sistemas operativos:

 
Código: Text
  1.  
  2. #ifdef _unix
  3.    system("clear");
  4. #endif
  5. #ifdef WIN32
  6.    system("cls");
  7. #endif
  8.  
  9.  
Título: Re: #IF #ELSE
Publicado por: gmantil en Viernes 2 de Mayo de 2003, 13:00
También, el uso de las condicionales del precompilador es para dar portabilidad a los programas. Por ejemplo, tu haces un programa de hace uso del juego de instrucciones del procesador Pentium 4, las cuales no correran en un procesador de menor caracteristica. Así cuando vayas a compilar en un procesador de menor carateristica no tienes que modificar nada. Esto es ideal para los programas que se ponen públicos donde cada quién debera compilarlo en máquinas distintas. Ese es uno de sus usos mas importantes.

Gmantil
Título: Re: #IF #ELSE
Publicado por: JuanK en Viernes 2 de Mayo de 2003, 15:02
Tambien lo puedes usar cuando quieres que algo suceda solo cuando el programa es ejecutado y no cuando se este corriendo paso por paso , haciendo debug, ejemplo del djgpp...
 
Código: Text
  1.  
  2. #include<stdio.h>
  3. #include<time.h>
  4.  
  5. int main()
  6. {
  7.   int x, y, count=0;
  8.   #ifndef DEBUG
  9.     srand(time);  
  10.   #endif
  11.   while(count <=  50)
  12.   {
  13.     x = rand()%1025;
  14.     y = rand()%769;
  15.     dibuja_pelota(x,y);
  16.     count++;
  17.   }
  18. }
  19.  
  20.  
En este ejemplo se necesita que las pelotas aperezcan aleatoriamente ,es decir siempre en lugares diferentes, para ello se siembra una semilla aleatoria con srand(time()), esto resulta muy util en el programa, per si estas corriendo el programa paso a paso para hacer seguimiento del dibujo de la pelota, esto seria un inconveniente ya que cada vez que lo ejecutes aparecerian en lugares diferentes, entonces para evitarlo, le decimos al compilador que solo ejecute srand(time()); cuando se ejecute el programa normalmente,  màs no cuando se este haciendo DEBUG.

Espero que este ejemplo tambien haya sido claro para ti.

Juank
Título: #IF #ELSE
Publicado por: © Jonathan © en Lunes 5 de Mayo de 2003, 20:53
Hola amigos.... Muachas gracias a todos ustedes por haberme ayudado a eliminar esa duda, ahora tengo bien claras todas las utilidades que se le pueden dar a esas funciones que antes fueron dudas....Gracias...Saludos :gracias: