Bonjour:
je suis débutant en c++ .je travail avec Borland C++ 5.01.
je veux créer une dll puis l'utiliser dans un programme .pour cela j'ai crée un projet (Dynamic Library (.dll))
le dll contient un fonction factorielle son code est :
-------------
factorielle.cpp-------------------------
#include <windows.h>
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
extern "C" __declspec(dllexport) unsigned long int factorielle(int n)
{
unsigned long int resultat = 1;
if(n < 0)
return -1;
if(n == 0)
return 1;
for(; n > 0; n--)
resultat *= n;
return resultat;
}
----------------------------------------
puis j'essayé de compiler (project->build all) ce code pour obtenir un fichier .lib ainsi qu'un .dll .mais m'afiche une erreur ."declaration syntaxe error ".
1ere question : c quoi cette erreur (j'ai bien placer le .def dans le repertoire de projet)?
puis je veux creer un simple programme console qui utilise cette dll par exemple pour calculer le factorielle de 5 .le code est :
---------------------monprog.cpp----------------------------------------
#include<windows.h>
#include<stdio.h>
#include<conio.h>
#pragma comment (lib, "dll_factorielle.lib")
extern "C" __declspec(dllimport) unsigned long int factorielle(int n);
void main()
{
int x;
x=factorielle(5);
printf("fact = %d",x);
getch();
} ---------------------------------------------------------------------------
2 eme question :est ce que c correcte ce code ou non ( sans .dll je peut pas le compiler )?
et merci pour votre aide .