infomar Geschrieben 9. Oktober 2005 Geschrieben 9. Oktober 2005 Hallo, ich habe eine dll in C unter erzeugt und moechte diese in einen C/C++ Project verwenden. Wie kann ich die dll einbinden/verwenden? Ich benutze Visual Studio .net 2003 als Compiler. Zitieren
Klotzkopp Geschrieben 9. Oktober 2005 Geschrieben 9. Oktober 2005 Durch Runtime Dynamic Linking. Stichwort LoadLibrary/GetProcAddress. Wenn du eine Headerdatei und eine Importbibliothek (.lib) hast, kannst du auch Load Time Dynamic Linking benutzen. Dafür musst du die Headerdatei mittels Includedirektive einbinden und die .lib-Datei über die Projekteinstellungen oder mit einer Pragmadirektive dazulinken. Zitieren
infomar Geschrieben 9. Oktober 2005 Autor Geschrieben 9. Oktober 2005 Mit LoadLibrary/GetProcAddress habe ich es auch schon probiert, und es hat nicht funktioniert. Das ist das erstemal das ich eine dll einfuegen moechte, koennte jemand mir eine kurz Anleitung geben. Zitieren
Klotzkopp Geschrieben 9. Oktober 2005 Geschrieben 9. Oktober 2005 Wie wäre es, wenn du eine bessere Fehlerbeschreibung als "hat nicht funktioniert" lieferst? Zitieren
infomar Geschrieben 9. Oktober 2005 Autor Geschrieben 9. Oktober 2005 Der Compiler bringt eine Syntaxfehler. #include <stdio.h> #include <string.h> LoadLibrary("MEINE.dll") int main () { ... Zitieren
Klotzkopp Geschrieben 9. Oktober 2005 Geschrieben 9. Oktober 2005 Bitte poste ab jetzt die vollständige Fehlermeldung des Compilers und kennzeichne die Stelle im Programm. In C und C++ muss Programmcode immer in einer Funktion stehen. Außerdem brauchst du den Rückgabewert von LoadLibrary für den Aufruf von GetProcAddress, es wäre also gut, wenn du dir den in einer Variablen merken würdest. Ist auch recht hilfreich für die Fehlerdiagnose. Zitieren
infomar Geschrieben 9. Oktober 2005 Autor Geschrieben 9. Oktober 2005 Wenn ich "LoadLibrary("MEINE.dll")" entferne bringt er keine Fehlermeldungen mehr(ausser das er natuerlich die Funktionen nicht findet.) Zitieren
Klotzkopp Geschrieben 9. Oktober 2005 Geschrieben 9. Oktober 2005 Wenn du Run-Time Dynamic Linking verwendest, wird der Compiler die Funktion nie "finden", weil du sie erst zur Laufzeit bindest (daher der Name), da hat der Compiler seine Arbeit längst abgeschlossen. In der MSDN Library gibt es übrigens ein schönes Beispiel. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.