Créer une DLL sous Dev C++

AnteManoclis Messages postés 154 Date d'inscription jeudi 22 mai 2003 Statut Membre Dernière intervention 6 septembre 2007 - 13 déc. 2004 à 21:48
AnteManoclis Messages postés 154 Date d'inscription jeudi 22 mai 2003 Statut Membre Derniè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 !!

Merci à tous par avance

Tchô ;)
AnteManoclis

3 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 déc. 2004 à 23:06
__stdcall est obligatoire et utiliser un def est une bonne habitude.
Je n'utilise pas devcpp alors je ne saurais pas t'en dire plus.

ciao...
BruNews, MVP VC++
0
cs_Nebula Messages postés 787 Date d'inscription samedi 8 juin 2002 Statut Membre Dernière intervention 7 juin 2007 2
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.

Exemple :
void EXPORTED mafonction(void) {
MessageBox(NULL, "Coucou !", NULL, 0);
}

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).

A+
0
AnteManoclis Messages postés 154 Date d'inscription jeudi 22 mai 2003 Statut Membre Derniè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...

En tout cas merci beaucoup à vous deux !!

Tchô ;)
AnteManoclis
0
Rejoignez-nous