Was kommt bei dynamischen DLL's in Header-Dateien
-
Ich habe eine DLL geschrieben und alles in eine Datei gepackt.
Aufruf und Verarbeitung klappen auch.
Nun ist das sicher nicht optimal. Ich frage mich, was muss in die Header-Datei und was verbleibt in der test.c(pp).
Z.B. bei der Realisierung eines Fensters in test.c(pp).Vielen Dank.
-
irgendwie verstehe ich das nicht, was du da schreibst.
du kannst alles in die header packen es kommt darauf was du exportieren willst.
es hängt auch sehr stark von deinem projektdesign ab. usw uswmach mal ein beispiel !
-
//main.cpp #include <windows.h> typedef void(* HelloWorldPROC)(); int WINAPI WinMain (HINSTANCE hinst, HINSTANCE hInstPrev, LPSTR lpCmdLine, int nCmdShow) { HMODULE hMyLib; HelloWorldPROC pfnHelloWorld = NULL; hMyLib = LoadLibrary("CDLL.dll"); pfnHelloWorld = (HelloWorldPROC)GetProcAddress(hMyLib,"HelloWorld"); pfnHelloWorld(); FreeLibrary(hMyLib); return 0; }Die dll soll folgende Funktion enthalten:
DLLEXPORT void HelloWorld () { MessageBox (GetActiveWindow(), "Hello World from DLL!\n", "Hi", MB_ICONINFORMATION); }
-
Nur bei umfangreicheren Projekten wird in einer seperaten Datei deklariert bzw. definiert.
-
dann sollte deine dll so aussehen
// .h #ifndef DLLEXPORT #define DLLEXPORT __declspec(dllexport) #endif DLLEXPORT void HelloWorld (); // .c void HelloWorld (); { MessageBox (GetActiveWindow(), "Hello World from DLL!\n", "Hi", MB_ICONINFORMATION); }ist es das was du suchst

-
Habe mir gestern nochmal ein Tutorial besorgt. Mit deinem (einfachen) Beispiel wird die Sache aber klarer. Vielen Dank.