Programm auf mehrere C-Files aufteilen

Gast #178414
Lesenswert?

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
Gast #178415
Lesenswert?

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
Gast #178416
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren