2016-04-29 24 views
0

Hallo ich versuche, eine DLL meines C-Programms zu erstellen, mein Programm sendet und empfängt Nachrichten an ein USB-Gerät. Ich benutze libusb1.0 als eine Bibliothek für mein C-Programm. Jetzt, da ich mein Programm zu einer DLL machen möchte, um von anderen Programmen verwendet werden zu können, kann ich mir nicht vorstellen, wie ich meine DLL mit libusb importieren oder bündeln kann.C Statische Bibliothek (.lib) zur Verwendung in einer C DLL

So forschen auf mein Problem, fand ich, dass libusb eine statische Bibliothek zur Verfügung stellt, und ich habe Artikel zum Verknüpfen von statischen Bibliotheken auf einer DLL mit C++ gesehen.

Meine Frage ist also ... Ist es möglich, eine statische Bibliothek (.lib-Datei) in einer dynamischen Link-Bibliothek (.dll) in einer C-Umgebung zu verknüpfen?

P.S. Wenn es möglich ist, kann ich Links/Tutorials fragen, um mich mit der Entwicklung zu beginnen?

+0

Suche nach Wrappers Guide. Üblicherweise wird [tag: c] .lib in eine [tag: C++] DLL eingebunden. – LPs

Antwort

1

In Windows eine DLL ist im Grunde nur eine normale ausführbare Datei mit einem speziellen Einstiegspunkt (DllMain statt WinMain oder main), und wie jeder andere normale ausführbare Datei können Sie sowohl statische als auch dynamische Bibliotheken.

+0

Mit diesem Konzept wird meine DLL die statische Bibliothek aufrufen. Dann ist es garantiert, dass die Programme, die meine DLL verwenden, auch ohne die statische Bibliothek in ihren Terminals funktioniert? – pejobear

+0

@pejobear Vereinfacht ist eine statische Bibliothek nichts anderes als eine Sammlung von Objektdateien. Die Verknüpfung mit einer statischen Bibliothek ist wie die Verknüpfung mit den eigentlichen Objektdateien. Und das ist auch der Punkt bei statischen Bibliotheken, sie sind statisch in die resultierende ausführbare Datei/DLL eingebunden, sie werden Teil der ausführbaren Datei/DLL. –

+0

Das macht Sinn. Vielen Dank. – pejobear