Suite à une question dans ma messagerie, voici un SIMPLE moyen de récupérer des fonctions déjà écrites en C++ et de les regrouper en une DLL.
1) Extraire les fonctions désirées dans un fichier : fonctions.cpp
Remarque, il n'est pas nécessaire de modifier leur prototype
Exemple :
double Ajouter(double x, double y){return x+y;}
double Soustraire(double x, double y){return x-y;}
2) exporter les fonctions de la DLL :
Il s'agit de créer un fichier "fonctions.DEF"
Exemple :
LIBRARY petiteDLL
EXPORTS Ajouter
Soustraire
3) Fabriquer la DLL :
On pourra créer un fichier "make.bat" ainsi :
rem Compilation
CL.exe /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /Y- /Fo"fonctions.obj" /FD /c fonctions.cpp
rem /MT pour lien avec LIBCMT.LIB (Multi-Thread)
rem LINK
link.exe /nologo /dll /machine:I386 /def:".\fonctions.def" /out:petiteDLL.dll /implib:"petiteDLL.lib" fonctions.obj
4) Créer un fichier d'entête pour les EXEs clients de la DLL
Il suffit de regrouper les prototypes des fonctions dans un fichier "fonctions.h"
double Ajouter(double x, double y);
double Soustraire(double x, double y);
5) On livrera au client la DLL, la librairie d'import et le fichier d'entête soit :
petiteDLL.DLL, petiteDLL.LIB et fonctions.h