.Header Dateien mehrmals #include ohne "multiple definition"?

Gast #4390684
Lesenswert?

Guten Tag,
die Frage die jetzt kommt wird sehr "Basic" sein.

Wenn ich mit .h Dateien arbeite. Dann habe ich in einer dieser z.B. eine 
Variable.

Jetzt möchte ich diese Variable in main.c und ext_main.c nutzen. Also ->
1
#include "meine.h"
in beiden.

Dies führt unweigerlich zum Fehler "multiple definitions in xxx.o".

Darf ich Fragen wie der professionelle Umsetzer so etwas umsetzt :D?
Vielen Dank u. mfG.
Rudii
#4390688
Lesenswert?

Der Trick liegt in dem Unterschied zwischen "Definition" und 
"Deklaration". Ersteres ist in C nur einmal erlaubt und Letzteres 
beliebig oft.

Der Trick ist jetzt die (globale) Variable innerhalb einer C-Datei zu 
definieren (=Speicher anzulegen). In den Header-Dateien deklarierst du 
die Variable nur noch mit dem Schlüsselwort "extern".

Gruß
Dennis

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