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 le 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