AnteManoclis
Messages postés154Date d'inscriptionjeudi 22 mai 2003StatutMembreDernière intervention 6 septembre 2007
-
13 déc. 2004 à 21:48
AnteManoclis
Messages postés154Date d'inscriptionjeudi 22 mai 2003StatutMembreDernière intervention 6 septembre 2007
-
14 déc. 2004 à 10:15
Salut à tous !
J'essaie de créer une dll en c++, sous Dev c++ pour l'utiliser avec une application vb. Seulement j'ai un petit problème au niveau des décorations...
Si j'utilise extern "C", le passage d'arguments entre la dll et le programme vb coince.
Si j'utilise __stdcall, l'arobase contenue dans la décoration disparait, mais le reste est toujours là.
En utilisant un .def, j'ai un soucis au niveau du linker lors de la compilation.
Alors si vous savez comment remédier à ce problème, n'hésitez pas à me laisser des messages !!
cs_Nebula
Messages postés787Date d'inscriptionsamedi 8 juin 2002StatutMembreDernière intervention 7 juin 20072 13 déc. 2004 à 23:25
1) Dans tes .c :
#define EXPORTED __declspec(dllexport) __stdcall
2) Dans les options de link :
-Wl,--kill-at
Le premier s'applique aux fonctions que tu veux exporter (le declspec indique un export et le stdcall la convention d'appels Windows). Le deuxième supprime les arobases dans les noms des fonctions exportés.
Je ne saurais te dire où sont les options de link, je n'utilise pas DevC++... Cherche l'editbox dans laquelle on trouve "-mdll", il faut l'ajouter à côté (mdll indique à link de créer une dll et non un exe).
AnteManoclis
Messages postés154Date d'inscriptionjeudi 22 mai 2003StatutMembreDernière intervention 6 septembre 2007 14 déc. 2004 à 10:15
Arf... (quand ça commence par ce mot, c'est jamais bon...)
Ca ne fonctionne toujours pas, j'pense que c'est Dev C++ qui pose problème (ou bien le mec qui l'utilise tout simplement), j'vais voir si j'trouve pas un autre éditeur...