Importation et exportation de fonctions inline

Les fonctions importées peuvent être définies comme inline. L’effet est à peu près identique à la définition d’une fonction standard inline ; Les appels à la fonction sont développés en code inline, comme une macro. Cela est principalement utile comme moyen de prendre en charge les classes C++ dans une DLL qui peut inliner certaines de leurs fonctions membres pour plus d’efficacité.

Une fonctionnalité d’une fonction inline importée est que vous pouvez prendre son adresse en C++. Le compilateur retourne l’adresse de la copie de la fonction inline résidant dans la DLL. Une autre fonctionnalité des fonctions inline importées est que vous pouvez initialiser les données locales statiques de la fonction importée, contrairement aux données importées globales.

Attention

Vous devez faire preuve de prudence lorsque vous fournissez des fonctions inline importées, car elles peuvent créer la possibilité de conflits de version. Une fonction inline est développée dans le code de l’application ; Par conséquent, si vous réécritez ultérieurement la fonction, elle n’est pas mise à jour, sauf si l’application elle-même est recompilée. (Normalement, les fonctions DLL peuvent être mises à jour sans regénérer les applications qui les utilisent.)

Que voulez-vous faire ?

Voir aussi

Importation et exportation