Compilacion Condicional

Páginas: 7 (1502 palabras) Publicado: 24 de mayo de 2012
I.E.S. Francisco Romero Vargas –Departamento de Informática Fundamentos de Programación __________________________________________________________________________________________________________

FUNDAMENTOS DE PROGRAMACIÓN

Anexos

1º Administración de Sistemas Informáticos I.E.S. Francisco Romero Vargas Departamento de Informática__________________________________________________________________________________________________________ Anexos 0

I.E.S. Francisco Romero Vargas –Departamento de Informática Fundamentos de Programación __________________________________________________________________________________________________________

ANEXO A. Directivas de compilación. Además de las directivas #include y #define que hemos utilizado a lo largo del curso, existen otrasdirectivas que vamos a resumir brevemente en este apéndice. • Directivas de compilación condicional.

Existen varias directivas que permiten compilar selectivamente partes del código fuente del programa. Este proceso se conoce como compilación condicional y es ampliamente utilizado por las casas comerciales de software que proporcionan y mantienen muchas versiones personalizadas de un programa.#if, #else, #elif y #endif

La idea general de la directiva #if consiste en que si la expresión constante que la sigue es verdadera, se compila el código que se encuentra entre éste y un #endif ; en otro caso, se salta el código. La directiva #endif se utiliza para marcar el final de un bloque #if . El formato general de la directiva #if es: #if expresion-constante secuencia de instrucciones#endif Por ejemplo:
#include #define MAX 100 void main(void) { #if MAX>99 printf('Compilado para un array mayor de 99.\n'); #endif }

Este programa muestra el mensaje en pantalla puesto que, como se definió en el programa, MAX es mayor que 99. Este ejemplo muestra un aspecto importante: La expresión que sigue al #if se evalúa en tiempo de compilación; por tanto, ésta sólo debe conteneridentificadores que hayan sido previamente definidos y constantes; no se pueden utilizar variables. La directiva #else funciona de la misma forma que la instrucción else del lenguaje C: establece una alternativa si falla el #if. El ejemplo anterior se puede extender de la siguiente forma:
#include #define MAX 50 void main(void) { #if MAX>99 printf('Compilado para un array mayor de 99.\n'); #else__________________________________________________________________________________________________________ Anexos 1

I.E.S. Francisco Romero Vargas –Departamento de Informática Fundamentos de Programación __________________________________________________________________________________________________________

printf('Compilado para un array menor de 100.\n'); #endif }

En este caso, MAX se definecon un valor menor que 100, de forma que la parte #if del código no se compila, pero sí la alternativa #else. Por tanto, se muestra el mensaje «Compilado para un array menor de 100.». Obsérvese que el #else se utiliza para marcar el final del bloque #if y el comienzo del bloque #else. Esto es necesario puesto que sólo puede haber un #endif asociado con cada #if.

La directiva #elif significa«else if» y se utiliza para establecer una serie de ifelse-if encadenados para múltiples opciones de compilación. El #elif va seguido de una expresión constante. Si la expresión es verdadera, se compila ese bloque de código y no se comprueba ninguna otra expresión #elif. En otro caso, se comprueba la siguiente de la serie. El formato general del #elif es: #if expresion secuencia de instrucciones #elifexpresion1 secuencia de instrucciones 1 #elif expresion2 secuencia de instrucciones 2 ..................... #elif expresionN secuencia de instrucciones N #endif Por ejemplo, el siguiente fragmento de código utiliza el valor de PAIS_ACTUAL para definir el idioma oficial:
#include #define ESPANA 0 #define FRANCIA 1 #define ITALIA 2 #define PAIS_ACTUAL ESPANA #if PAIS_ACTUAL==ESPANA char...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Compilacion
  • condicionales
  • compilacion
  • Condicionales
  • Condicionales
  • condicionales
  • condicionales
  • CONDICIONALES A

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS