L'extrait de code fourni définit la macro DLLEXPORT pour ajouter l'attribut dllexport ou dllimport aux fonctions en fonction de la valeur de la macro COMPILING_DLL. Cependant, la question demeure : comment et où doit être défini COMPILING_DLL ?
Une option consiste à utiliser la macro définie par défaut locale au projet. Ces macros se trouvent dans Propriétés -> C/C -> Préprocesseur -> Définition du préprocesseur.
Par exemple, si votre projet s'appelle MyDLL, la macro par défaut est MYDLL_EXPORTS. Vous pouvez utiliser cette macro comme suit :
#ifdef MYDLL_EXPORTS #define DLLEXPORT __declspec(dllexport) #else #define DLLEXPORT __declspec(dllimport) #endif
Lors de la compilation du projet DLL, MYDLL_EXPORTS sera défini, activant DLLEXPORT comme "export". Lors de l'utilisation de la DLL dans le code client, MYDLL_EXPORTS ne sera pas défini, activant DLLEXPORT comme "importation".
Cette approche vous permet d'utiliser le même en-tête pour à la fois compiler la DLL et l'utiliser dans le code client.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!