Développement DLL C++ et test
Bonjour,
Je développe d'habitude en Delphi, mais je souhaite développer une DLL en C++ et donc je débute en ce langage. Pour tester le développement de DLL voici le code que j'ai utilisé :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| //---------------------------------------------------------------------------
#include <vcl.h>
#include <windows.h>
#pragma hdrstop
//---------------------------------------------------------------------------
// Remarque importante sur la gestion mémoire de la DLL quand votre DLL utilise la
// version statique de la bibliothèque d'exécution (RTL) :
//
// Si votre DLL exporte des fonctions qui passent des objets chaîne (ou des classes structs/
// contenant des chaînes imbriquées) par le biais de paramètres ou de résultats de fonctions,
// vous devrez ajouter la bibliothèque MEMMGR.LIB au projet DLL et aux autres
// projets qui utilisent la DLL. Il sera aussi nécessaire d'utiliser MEMMGR.LIB
// si d'autres projets utilisant la DLL effectuent des opérations new ou delete
// sur des classes ne dérivant pas de TObject qui sont exportées depuis la
// DLL. Ajouter MEMMGR.LIB à votre projet changera la DLL et son EXE appelant
// afin d'utiliser BORLNDMM.DLL en tant que gestionnaire de mémoire. Dans ces cas,
// le fichier BORLNDMM.DLL doit être déployé avec votre DLL.
//
// Pour éviter l'emploi de BORLNDMM.DLL, passez des informations chaîne par
// le biais de paramètres "char *" ou ShortString.
//
// Si votre DLL utilise la version dynamique de la RTL, il n'est pas nécessaire
// d'ajouter explicitement MEMMGR.LIB car cela sera fait implicitement
//---------------------------------------------------------------------------
#pragma argsused
extern __declspec( dllexport ) double Add (double a, double b);
extern __declspec( dllexport ) double Subtract(double a, double b);
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
return 1;
}
double Add (double a, double b)
{
return a+b;
}
double Subtract(double a, double b)
{
return a-b;
}
//--------------------------------------------------------------------------- |
A l'utilisation de cette DLL sous Delphi j'obtiens l'erreur "Le point d'entrée de procédure Add est introuvable..."
Qu'ai-je oublié ?