Morgen! Ich habe ein Problem, mit dem ich mich jetzt schon ziemlich lange rumschlage: Und zwar: Um mein Programm ein bisschen übersichtlicher zu gestalten wollte ich meine globalen Variablen und ein paar Methode in ein eigenes C-File "auslagern" (Datei heißt common.c). Dazu gibt es auch ein Header-File in dem ein paar Defines sind (common.h) welche von common.c und main.c ("Hauptprogramm") includiert wird. In common.h hab ich jetzt noch die Prototypen von common.c geschrieben, damit main.c sie auch benutzen kann. Mein Problem sind jetzt noch die globalen Variablen: Deklariere ich sie in common.c, erkennt main.c die Variablen nicht. Schreibe ich sie jedoch in common.h, bekomme ich die Warnung, dass sie doppelt deklariert wurden! Wie oder Wo muss ich die globalen Variablen definieren?? Danke im voraus, Gerald
in der .h datei die variablen als extern deklarieren und in alle dateien einbinden. zb. in common.h extern unsigned short int GobVarX; extern unsigned char Array[10]; in der main.c oder der common.c wird jetzt dir varible deklariert. unsigned short int GobVarX; unsigned char Array[10]; jetzt kannst du aud die glablen variblen zugreifen wenn du immer die*.h datei einbindest. Sebastian
Hallo, deklariere deine globalen Variablen in der zu common.c gehörigen Header-Datei(common.h) als extern und dann noch innerhalb von common.c ohne extern. Beispiel common.h : extern int GlobaleVariable; common.c : int GlobaleVariable; main.c #include "common.h" void main(void) { GlobaleVariable++; } Gruss, Peter
Morgen! WOW,danke für eure schnelle Hilfe! Jetzt funktioniert es endlich so wie es soll! mfg, Gerald
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.