teil vom Programm auslagern als lib
-
Hallo!
Wie kann ich einen Teil von meinem Programm auslagern und dann als lib oder so ähnlich hinzulinken? was muss ich dabei mit den structs machen? und wie muss ich es machen, dass das ausgelagerte auch zu einem anderen Programm hinzugefügt werden kann?
-
WEnn ich das richtig verstehe willst du funktionen und structur variablen in eine datei packen.
Dazu erstellst du eine datei blablupp.h und schreibst in diese die funktionen (ohne prototypen) und die variablen (struktur o.ä.). fertig dann nur noch mit #include einbinden und du kannst alles aus der datei benutz.
-
eine lib ist im grunde nur eine sammlung von object dateien.
eine lib kann man dem linker angeben - der linkt die dann rein (genauso beo object dateien)
-
also gut, ich hab jetzt das mal da rauskopiert in eine datei.h Jetzt hab ich aber ein Problem. Ich mache in meinem Hauptprogramm eine definition mit "#define VAR 123". Die Variable VAR braucht ich aber auch in meiner lib. Wie krieg ich die da rein?
Und noch eine Frage: Wenn ich das Programm dann fertig kompiliere, wäre das Programm dann allein lauffähig ohne die lib?
-
Man unterteilt C-Programme so:
#ifndef FILE1_H #define FILE1_H // file1.h extern void foo(); #endif // file1.c void foo() { blabla(); } // main.c #include "file1.h" int main() { foo(); }
Dann compiliert man die einzelnen C-Files einzeln und linkt sie zum Schluß zu einem ausführbaren Programm zusammen.
-
Aber wie gehts jetzt, dass ich eine Variable, die ich per #define im Hauptprogramm bestimme, auch in der eingebundenen Datei gütligkeit hat?
-
du baust das dann so auf:
#define VAR WERT #include <headerdat.h> int main() { //code }
-
Jetzt gehts!
Danke
bei dir scheint das Hellsehrgen noch zu funktionieren