// Copie cada una de estos archivos en mĒdulos diferentes. // Archivo Lib1.h // Se definen variables globales int a,b,c; //********************************************************************** // Archivo Lib2.CPP // Se implementa una funciĒn donde se inicializa las variables globales // SĒlo se incluye Lib1.h la constante simbĒlica no ha sidodefinida aun #ifndef CONTROL #include "Lib1.h" #define CONTROL 0 #endif void f1(void) { a=1; b=2; c=3; } //********************************************************************** // Archivo Main1.cpp // Utiliza la funciĒn f1, obs‚rvese que el programa compila y se ejecuta // sin errores. #include #include "Lib2.CPP" void main (void) { f1 ( ); printf("%5d %5d %5d\n", a, b, c); } //********************************************************************** // Archivo Lib3.CPP // Se implementa otra funciĒn donde se inicializa las variables globales // SĒlo se incluye Lib1.h la constante simbĒlica no ha sidodefinida aun #ifndef CONTROL #include "Lib1.h" #define CONTROL 0 #endif void f2(void) { a=28; b=35; c=47; } //********************************************************************** // Archivo Main2.cpp // Utiliza la funciĒn f2, obs‚rvese que el programa compila y se ejecuta // sin errores de igual manera que en el programa anterior. #include #include "Lib3.CPP" void main (void) { f2 ( ); printf("%5d %5d %5d\n", a, b, c); } //********************************************************************** // Archivo Main3.cpp // Utiliza las funciones f1 y f2, obs‚rvese que el programa yo no presenta // errores de compilaciĒn. #include #include "Lib2.CPP" #include "Lib3.CPP" void main (void) { f1 ( ); printf("%5d %5d %5d\n", a, b, c); f2 ( ); printf("%5d %5d %5d\n", a, b, c); }