wie schreibe ich eine dll Datei in c++



  • Hallo allerseits,
    Kann mir jemand bitte ein einfaches dll-Beispielprogramm zeigen? Also reguläre dll in API geschrieben, mit einer einfachen Funktion die sich von WinMain aus aufreufen lässt. Eigentlich ganz simpel, aber in meinen Büchern kommt mir ständig MFC in diesem zusammenhang in die quere. MFC will ich aber nicht und das verwirrt mich erst mal nur.
    Auch für jeden sonstigen Tipp der mir zum Verständnis des Themas helfen könnte, bin ich sehr dankbar.

    Grüße Monem



  • Was soll die DLL alles können? Nur Funktionen in C oder C++ bereitstellen oder auch WinApi-Aufrufe? Geht alles. Nur dafür brauchen wir noch konkrete Angaben zum eingesetzten Compiler und dessen IDE.



  • http://www.codeproject.com/KB/DLL/RegDLL.aspx

    ... und lies einfach nur bis das Kapitel mit MFC kommt..



  • "Was soll die DLL alles können? Nur Funktionen in C oder C++ bereitstellen oder auch WinApi-Aufrufe? Geht alles. Nur dafür brauchen wir noch konkrete Angaben zum eingesetzten Compiler und dessen IDE."

    Eigentlich habe ich noch keine konkrete Vorstellung was die dll-können sollte. Ich wollte mich für ein bevorstehendes Projekt, in das Thema einarbeiten. Aber es geht schon um die Win-API programmierung. Für den Anfange dachte ich mir vielleich eine Messagebox-Funktion in die dll-datei zu schreiben und diese dann aus meinem Hauptfunktion, also WinMain, aufzurufen. Müsste doch klappen, oder? Ich weis nur nicht wie ich die datei anbinde und die besagte funktion aufreufen kann. Es geht mir einfach um den Mechanismus.



  • Ach ja, Mein Kompiler ist vc++ 2010 Studenten version.



  • Wir sind hier bei WinApi, also der Programmierung von Windows-Anwendungen. Das kann man in native C oder auch mit MFC etc... machen. In native C braucht man eine Dll-Einstiegsfunktion DllMain oder was der Compiler da für die gewünschten Initialisierungen und mehr verlangt. Alles weitere ist wie gewohnt. Möglicherweise muss man aus der DLL noch selbst eine Importbibliothek erstellen.


Anmelden zum Antworten