Comment on fait pour créer une dll à partir de sources C ? - Programmation
Marsh Posté le 21-11-2001 à 15:53:17
ben dans une dll faut exporter des functions...
c le code de dll que tu compile c bien ca?
[edtdd]--Message édité par TheJackal--[/edtdd]
Marsh Posté le 21-11-2001 à 15:58:31
Oui, c'est bien ça, je compile le code d'une dll. Comment on fait pour exporter les fonctions ?
Marsh Posté le 21-11-2001 à 15:59:14
sur le compilo de microsoft ya : __declspec(dllexport)
c du specific kro je crois
sinon ya export "c" je crois
tu c ou caler ca?
[edtdd]--Message édité par TheJackal--[/edtdd]
Marsh Posté le 21-11-2001 à 16:07:55
TheJackal a écrit a écrit : sur le compilo de microsoft ya : __declspec(dllexport) c du specific kro je crois sinon ya export "c" je crois tu c ou caler ca? |
Lors de la déclaration de la fonction:
extern "C" __declspec(dllexport) int mafonction(int a);
Lors de la définition de la fonction:
__declspec(dllexport) int mafonction(int a)
{
...
}
Marsh Posté le 21-11-2001 à 16:11:54
ReplyMarsh Posté le 21-11-2001 à 16:26:41
SoWhatIn22 a écrit a écrit : Lors de la déclaration de la fonction: extern "C" __declspec(dllexport) int mafonction(int a); Lors de la définition de la fonction: __declspec(dllexport) int mafonction(int a) { ... } |
le extern "C" sert a pas grand chose
pas besoin de mettre sur les deux:
Code :
|
[edtdd]--Message édité par TheJackal--[/edtdd]
Marsh Posté le 21-11-2001 à 16:56:07
Le __declspec(dllexport) il ne faut pas le mettre en dur...
parce que dans l'executable (exe ou dll) qui utilisera ta Dll il faudra mettre __declspec(dllimport) le mieux est donc de faire commencer tes .h par
#ifndef COMPRESS_DLL
#define COMPRESS_DLL __declspec(dllimport)
#endif
et sur la ligne de commande pour ta Dll tu ajoutes
-DCOMPRESS_DLL=__declspec(dllexport)
Marsh Posté le 21-11-2001 à 15:52:00
Voilà : j'ai récupérer des sources C gratuits de compression / décompression de fichier.
j'ai extrait les fonctions dont j'avais besoin, & j'en ai rajouté deux qui doivent me servir pour appeler les fonctions de la DLL que je veux créer. Cette Dll sera appelée par un programme powerBuilder.
Lorsque je compile mon code, le compilo C me renvoie le message suivant après linkage :
error: no exports in lzw.dll
je comprends pas ce que ça veut dire.
les fonctions que je veux pouvoir appeler ds cette dll sont les suivantes :
Comment faut-il faire ?
---------------
di. / www.diredaredare.org - Ailes de la ville