Asegúrate de que entiendes cual es el efecto de las
directivas #include
, #define
y #ifdef
... #endif
.
Responde a las siguientes preguntas y comprueba las respuestas con tu compañero de prácticas antes de la sesión del laboratorio.
¿Qué diferencia hay entre las directivas
#include <fichero.h>
y #include
"fichero.h"
?
Si el programa main.c
incluye
el fichero main.h
, ¿es correcto el siguiente
comando?
$ gcc -o main main.c
¿Qué diferencia hay entre la directiva #define
SIMBOLO
y #define SIMBOLO 10
?
Supongamos que quieres tener dos versiones de un
programa que has diseñado tú. La primera versión la utilizas para
depurar errores con lo que el programa imprime por pantalla todo
tipo de mensajes de comprobación. La segunda versión es para el
cliente y esos mensajes no pueden aparecer en pantalla. ¿Cómo
conseguirías esto utilizando la directiva
#ifdef
?
Prepara la máquina virtual para trabajar con un terminal de comandos y el compilador.
Edita los ficheros main.c
y
main.h
. Además de la directiva #ifdef
el
programa utiliza la directiva #ifndef
que simplemente es la
negación de la anterior. Crea dos versiones del ejecutable una que
imprima msg1
y no msg2
, y la otra que imprima
los dos mensajes.