utilisation des declaration dllexport et dllimport
2 réponses
torri
J'aimerais avoir des precisions sur l'utilisation de dllexport,
dllimport, et leur non utilisation pour la creation et l'utilisation
d'une bibliotheque
J'utilise gcc et non vc++ et je cree une dll et une bibliotheque statique
(ou import lib)
Pour l'instant, concernant les methodes exportees, je fais ceci:
1) si je suis en train de creer la bibliotheque :
a) si je construit la dll, je declare les methodes exportees avec
dllexport
b) si je construit la bibliotheque statique, je ne mets rien
2) si je suis en train d'utiliser la bibliotheque, je declare les metodes
avec dllimport.
Avec le code :
* le cas 1) est gere par une macro EFL_EVAS_BUILD, qui n'est definie que
si je suis effectivement en train de creer la dll ou la lib statique
* je sais que je suis en train de creer la dll grace a la macro
DLL_EXPORT
Le wizard de VS génère la macro à la suite de :
"The following ifdef block is the standard way of creating macros"
comme :
http://www.koders.com/c/fidD5E06972CEBF24954F1DAAED8BF86D401583664E.aspx?s=crc#L890