Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2702 connectés 

 


Dernière réponse
Sujet : Comment on fait pour créer une dll à partir de sources C ?
BENB 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)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
BENB 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)
TheJackal

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 :
  1. int __declspec(dllexport) mafonction(int a);
  2. ...
  3. int mafonction(int a)
  4. {
  5. ...
  6. }

 

[edtdd]--Message édité par TheJackal--[/edtdd]

instantdharma merci :jap:
SoWhatIn22

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

TheJackal 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]

instantdharma Oui, c'est bien ça, je compile le code d'une dll. Comment on fait pour exporter les fonctions ?
TheJackal 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]

instantdharma 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 :

Citation :


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 :

Code :
  1. int compresser_fic(char *fic_source , char *fic_dest);
  2. int decompresser_fic(char *fic_source , char *fic_dest);


Comment faut-il faire ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)