22 Stimmen

Importieren einer DLL mit C++ (Win32)

Wie kann ich eine DLL (minifmod.dll) in C++ importieren?

Ich möchte eine Funktion innerhalb dieser DLL aufrufen können. Ich kenne bereits die Argumentliste für die Funktion, aber ich weiß nicht, wie ich sie aufrufen kann.

Gibt es eine Möglichkeit, eine importierte Funktion in C++ wie in C# zu deklarieren?

17voto

luke Punkte 34409

6voto

Russell Newquist Punkte 2596

Wenn die DLL eine Bibliothek vom Typ COM enthält, können Sie die #import-Anweisung als solche verwenden:

#import dllname.dll

Andernfalls müssen Sie eine Verknüpfung mit einer Importbibliothek herstellen und einen Funktionsprototyp für Ihren Compiler bereitstellen. Normalerweise werden die Importbibliothek und eine Header-Datei mit den Prototypen vom DLL-Entwickler bereitgestellt. Ist dies nicht der Fall, kann es sehr schwierig sein, sie zu erstellen - es sei denn, Sie kennen die Argumentliste für die Funktion bereits, wie Sie sagen. Anweisungen können gefunden werden aquí und anderen Orten.

2voto

Serge Rogatch Punkte 12301

Zur Laufzeit können Sie LoadLibrary() und rufen dann GetProcAddress() um auf die Funktion von einer DLL aus zuzugreifen. Sie müssen diese Adresse auf einen Prototyp übertragen, den Sie mit typedef . Siehe das Beispiel unter GetProcAddress Dokumentationsseite.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X