FleX2009
Messages postés22Date d'inscriptionmercredi 15 décembre 2004StatutMembreDernière intervention 5 mai 2005
-
3 mars 2005 à 15:28
FleX2009
Messages postés22Date d'inscriptionmercredi 15 décembre 2004StatutMembreDernière intervention 5 mai 2005
-
3 mars 2005 à 16:47
Bonjour, j'essaye de traduire un SDK en C++ (VC-6) vers Delphi.
Le truc c'est que je maitrise pas encore le C++ et je suis face à un
problème (dans un fichier .h) : je n'arrive pas à comprend la
signification du "MSLIB_API" dans :
MSLIB_API void msModel_Destroy (msModel *pModel);
Sinon je vois bien que c'est une
déclaration de fonction ayant pour parametre un pointeur pModel vers un
type msModel et ne retournant rien (donc une procedure)
Peut être qu'il y a un lien avec le début du fichier .h :
#ifdef MSLIB_EXPORTS
#define MSLIB_API __declspec(dllexport)
#else
#define MSLIB_API __declspec(dllimport)
#endif /* MSLIB_EXPORTS */
Mais à ce niveau je comprend plus rien, je sais que ce sont des directives de compilations, mais je n'ai aucune idée du declspec - ayant beau cherché sur Internet (peut être pas assez?).
En tout cas si vous pouviez m'éclaircir, même un indice ou un lien, je vous serai très reconnaissant
ymca2003
Messages postés2070Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 3 juillet 20067 3 mars 2005 à 16:04
Cela permet d'utliiser le même header pour compiler une dll et pour le prog qui l'utilise. Lors de la construction de la dll, les fonctions sont déclarrée "export". Pour l'utilisation, elle sont en "import".
__declspec est une extension VC.
Pour ta conversion je suppose que c'est pour utliiser la dll donc il faut spécifier que la fonction sera dans une lib externe au lieu du prog lui-même.