Struct in Library auslagern
-
hallo,
ist es möglich structs in eine library auszulagern?
mfg blan
-
Was meinst du genau? Wenn du eine Struktur in einem Programm verwenden willst, muss das Layout bekannt sein.
-
okay stimmt. sonst kann er schlecht beim kompilieren prüfen ob die operationen mit dem struct erlaubt sind. danke
-
Hi,
die Structs definierst du in den Headerdateien deiner Library, damit man sie von außerhalb der Library auch nutzen kann.
Diese Headerdateien bindestest du dann in deinem Programm ein, damit sie deinem Programm bekannt sind.Ich hoffe das hilft dir.
ciao
-
Daniel_S schrieb:
Hi,
die Structs definierst du in den Headerdateien deiner Library, damit man sie von außerhalb der Library auch nutzen kann.
Diese Headerdateien bindestest du dann in deinem Programm ein, damit sie deinem Programm bekannt sind.Ich hoffe das hilft dir.
ciao
ich bin damit schon vertraut - danke
aber es gibt libraries zB libshout, welche die das layout in der library selbst und nicht im header haben. in dem header steht dann nur noch
typedef struct shout shout_t;
mfg blan
-
Das kannst du machen, wenn:
1.) Deine Library eine Funktion für die Speicherreservierung deiner Struktur bereitstellt
2.) Deine Library eine Funktion, um den Speicher für die Struktur wieder freizugeben, bereitstellt.
3.) Die Funktionen deine Library nur Pointer auf die Struktur erwarten und nur Pointer zurück geben.
4.) Du auf keine Variablen in der Struktur zugreifen willst.