====== Eine DLL erstellen ====== Für das Matlab-Beispiel zum Ansprechen einer DLL soll hier gezeigt werden, wie die DLL erstellt wird. Es wird im WxDevC++ IDE ein Projekt neu angelegt und als Ziel eine DLL mit C++ ausgewählt. Nun wird folgender Code eingegeben: /* Replace "dll.h" with the name of your header */ #include "dll.h" #include #define EXPORT extern "C" __declspec(dllexport) EXPORT double AddNumbers (double a, double b) { return a + b ; } EXPORT double SumAndSquare (double *a, double *b) { double c, d, e; c = *a * *a; d = *b * *b; e = *a + *b; *a = c; *b = d; return e; } BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ , DWORD reason /* Reason this function is being called. */ , LPVOID reserved /* Not used. */ ) { switch (reason) { case DLL_PROCESS_ATTACH: break; case DLL_PROCESS_DETACH: break; case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: break; } /* Returns TRUE on success, FALSE on failure */ return TRUE; } Die zugehörige Header Datei sieht so aus: #ifndef _DLL_H_ #define _DLL_H_ #if BUILDING_DLL # define DLLIMPORT __declspec (dllexport) #else /* Not BUILDING_DLL */ # define DLLIMPORT __declspec (dllimport) #endif /* Not BUILDING_DLL */ #include #define EXPORT extern "C" __declspec(dllexport) EXPORT double AddNumbers (double a, double b); EXPORT double SumAndSquare (double *a, double *b); #endif /* _DLL_H_ */ Eine zweite Headerdatei ist nötig mit dem selben Namen wie die DLL und sie enthält die Beschreibung mit dem Inhalt: extern "C" double AddNumbers (double a, double b) ; extern "C" double SumAndSquare (double *a, double *b);