Bonjour,
Je suis sur un projet en C/C++ et j'en ai pas fait depuis 3/4 ans, donc j'ai pas mal de soucis. Surtout que y'a 3/4 ans j'ai appris seulement quelques bases ...
Je m'essaye à l'utilisation de dll, je suis sous Windows XP et j'utilises code::block. La dll est la suivante :
Je copie ensuite la dll dans le dossier de mon programme principal
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <stdio.h> #include <stdlib.h> #include <windows.h> #ifdef BUILD_DLL #define DLL_EXPORT __declspec(dllexport) #else #define DLL_EXPORT #endif void affiche(char *name) { printf("Hello world %s",name); }
Le problème se situe lors de l'appel de la fonction de la dll avec le paramètre, il me met le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include <iostream> #include <windows.h> void aff(char *mystr); int main() { char *name = "Greg"; printf("%p",name); aff(name); HINSTANCE DLLHandle; typedef char (*PointeurFonctionType)(); PointeurFonctionType PointeurFonction; DLLHandle = LoadLibrary("sample.DLL"); PointeurFonction = (PointeurFonctionType)GetProcAddress(DLLHandle,"affiche"); PointeurFonction(name); return 0; } void aff(char *mystr){ printf("%s",mystr); }
main.cpp:19: error: too many arguments to function
Pouvez-vous m'aider à comprendre ce qu'il se passe exactement ?![]()
Merci
Partager