import.h beinhaltet folgendes:
#ifdef GLOBAL #undef GLOBAL #endif #define GLOBAL extern
export.h beinhaltet folgendes:
#ifdef GLOBAL #undef GLOBAL #endif #define GLOBAL
Module stellen globale Funktionen und Variablen in ihrem Headerfile zur Verfuegung. Lokale Funktionen und Variablen werden im C-File deklariert.
Beispiel:
#include "import.h" #include "that.h" #include "export.h" #include "this.h"
Modul `this.c' greift auf Funktionen und/oder Variablen des Moduls `that.c' zurueck. Nachdem `import.h' eingelesen wurde, ist GLOBAL als extern definiert, was dazu fuehrt, dass die Funktionen und Variablen aus `that.h' fuer `this.c' ebenfalls als extern deklariert sind.
Nach `export.h' wird GLOBAL umdefiniert und beinhaltet nichts. Die eigenen Funktionen und Variablen aus `this.h' werden fuer `this.c' also nicht als extern deklariert.
Diese Vorgehensweise erlaubt es, auf die unuebersichtlichen und zudem fehleranfaelligen expliziten extern-Deklarationen zu verzichten.