Hallo,
etwas umständlicher mache ich es immer. Dadurch erreiche ich aber, dass ich den Header in allen Sourcen includen kann (Auch im Source, in dem ich die Variable definieren will).
Das geht bei mir so:
Im Code mit der main-Funktion steht folgendes:
In allen anderen Sourcen lasse ich "define" und "undef" IMMER weg.Code:#define MAIN #include "header.h" #undef MAIN
In der Datei header.h steht dann für alle global zu vereinbarenden Variablen dies hier:
Der Vorteil ist, dass ich die Variable niemals mit verschiedenen Type schreiben kann, da sie ja nur einmal in header.h aufgeführt ist. Somit bekommen ich nie einen Warning wegen falscher typangaben im Source bzw. im Header.Code:#ifdef MAIN #define EXTERN #else #define EXTERN extern #endif EXTERN int g_variable_1; EXTERN char g_variable_2
Für die 'Interruptfesten' Variablen füge ich dann natürlich auch das 'volatile' hinzu.
Lesezeichen