DLL und LIB Dateien
-
Hallo Zusammen,
habe da eine Frage zu DLL und LIB Dateien. Also in der DLL Datei stehen meine Funktionen, Klassen und etc. Diese Datei wurde durch einen Compiler erstellt. Also nichts anderes als eine EXE Datei. Die LIB Datei ist nun Compiler spezifisch. D.h. für den C++ Builder muss ich eine LIB Datei für eine DLL Datei erzeugen. Wenn ich nun die DLL Datei statisch einbinde, muss ich die LIB Datei den Projekt hinzufügen. Brauche ich noch für die DLL Datei eine Header-Datei (z.B. Hallo.h) oder was steht in der LIB Datei, sind dort die ganzen Prototypen für die DLL Datei oder befindet sich dort der gesamte Code der DLL nur in einer für den Compiler lesbaren form? Habe da nicht ganz verstanden, wozu ich manchmal beim Projekt die Header-Datei und LIB Datei einbinden muss.
THX
-
Hi,
schon richtig.eine Lib ist grob gesagt ein angepasstes Format der dll, die der Linker zum Projekt dazulinkt. Der Comiler interessiert sich nicht für die Lib oder eine dll. Der Compiler will nur wissen, was drin steht. Das erfährt der Compiler über die Header, die du einbindest.
Die dll brauchst du nur, wenn du dynamisch Linken willst. Statisch reicht dir also die Lib und die Header. In der Header steht die Definition und in der Lib die Implementierung.
-
Hallo AndreasW,
ich danke dir für die Antwort.
Erst jetzt bin ich mir sicher wozu ich nun welche Datei benötigeTHX
-
Die dll brauchst du nur, wenn du dynamisch Linken willst
Nur damit es keine Mißverständnisse gibt, die DLL braucht man immer, nur um das Laden braucht man sich nicht zu kümmern, bindet man die LIB ein.