Exportation à partir d'une DLL
Un fichier DLL a une disposition très similaire à un fichier .exe, avec une différence importante : un fichier DLL contient une table d’exportation. La table d’exportations contient le nom de chaque fonction que la DLL exporte vers d’autres exécutables. Ces fonctions sont les points d’entrée dans la DLL ; seules les fonctions de la table d’exportation sont accessibles par d’autres exécutables. Toutes les autres fonctions de la DLL sont privées à la DLL. La table d’exportation d’une DLL peut être consultée à l’aide de l’outil DUMPBIN avec l’option /EXPORTS.
Vous pouvez exporter des fonctions à partir d’une DLL à l’aide de deux méthodes :
Créez un fichier de définition de module (.def) et utilisez le fichier .def lors de la génération de la DLL. Utilisez cette approche si vous souhaitez exporter des fonctions à partir de votre DLL par ordinal plutôt que par nom.
Utilisez la mot clé
__declspec(dllexport)
dans la définition de la fonction.
Lors de l’exportation de fonctions avec l’une ou l’autre méthode, veillez à utiliser la convention d’appel __stdcall.
Que voulez-vous faire ?
Exporter à partir d’une DLL à l’aide de __declspec(dllexport)
Exporter des fonctions C++ à utiliser dans des exécutables en langage C
Exporter des fonctions C à utiliser dans des exécutables C ou C++-language
Exporter des fonctions à partir d’une DLL par ordinal plutôt que par nom
Sur quels éléments souhaitez-vous obtenir des informations supplémentaires ?
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour