Das "ifndef" ist ja in der Include Datei ?
dann sollte das hinhauen. Verwend' ich, wie alle anderen, exzessiv, das muss passen.
aaaaaber "myvar" kann natürlich trotzdem irgendwo ein zweitesmal wo stehen (irrtümlicherweise).
Das "ifndef" ist ja in der Include Datei ?
dann sollte das hinhauen. Verwend' ich, wie alle anderen, exzessiv, das muss passen.
aaaaaber "myvar" kann natürlich trotzdem irgendwo ein zweitesmal wo stehen (irrtümlicherweise).
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Achso, ich glaube jetzt verstehe ich es.
Da der Compiler jedes C-Modul separat compiliert und jeweils eine eigene Objekt Datei erstellt, haben beide Dateien dann "myvar".
Das tut erstmal noch keinem weh, aber wenn der Linker an die Reihe kommt, stellt er diesen Doppelbezug fest und meckert.
Es gibt zwei Objekt-Dateien mit jeweils einer eigenen Variablen Namens "myvar"
Klingt logisch.
Upps, Unterschied Definition / Deklaration ist aber auch verwirrend....
Ich dachte immer ein "define" ist eine Definition. (Allein schon wegen der BuchstabenfolgeAlso eine Beschreibung ohne Speicherbedarf.
Dann ist also ein "define" eine Deklaration ?
dann wäre doch "ifdef" eigentlich "if declaration", sieht aber aus wie "if define" ???? was ja Speicher benötigen würde.
ein ifdef xxx benötigt doch aber keinen Speicher. Dann müste es korrekterweise "ifdecl" oder ähnlich heissen.
Hm, nicht ganz einleuchtend.....
Die Definition ist also all daß ,wo Speicher benötigt wird. Die Deklaration sagt nur aus, wie es aussieht.
Auf Delphi bezogen wäre also die Definition eine "Instanz" eines Objekts.
Ist das richtig so ?, ich hoffe ich habe nix durcheinandergebracht, außer mich selbst....
Siro
Geändert von Siro (21.06.2011 um 15:41 Uhr)
Lesezeichen