Partager via


Définition C++ intégré avec le dllexport et le dllimport

Spécifique à Microsoft

Vous pouvez définir comme inline une fonction avec l'attribut d' dllexport .Dans ce cas, la fonction est toujours instanciée et exportée, si le module dans le programme fait référence à la fonction.la fonction est présumée pour être importée par un autre programme.

Vous pouvez également définir comme inline une fonction déclarée avec l'attribut de dllimport .Dans ce cas, la fonction peut être développée (soumis aux spécifications de /Ob), mais jamais instanciée.En particulier, si l'adresse d'une fonction importée inline est prise, l'adresse de la fonction résidant dans la DLL est retournée.Ce comportement est identique à celui prenant l'adresse d'une fonction importée non-inline.

Ces règles s'appliquent aux fonctions inline dont les définitions apparaissent dans une définition de classe.De plus, les données locales statiques et des chaînes dans les fonctions inline contiennent les mêmes identités entre la DLL et client qu'elles dans un programme unique (autrement dit, un exécutable sans interface DLL).

Charge d'exercice en fournissant des fonctions inline importées.Par exemple, si vous mettez à jour la DLL, ne supposez pas que le client utilisera la version modifiée de la DLL.Pour vous assurer que vous chargez la version appropriée de la DLL, régénérez le client de la DLL également.

Voir aussi

Référence

dllexport, dllimport