Exportation à partir d'une DLL
Mise à jour : novembre 2007
Un fichier .DLL a une structure similaire à celle d'un fichier .exe, à une différence importante près : un fichier DLL contient une table d'exportations. 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 figurant dans la table d'exportations sont accessibles par d'autres exécutables. Les autres fonctions de la DLL restent l'exclusivité de la DLL. La table d'exportations d'une DLL peut être affichée à l'aide de l'outil DUMPBIN avec l'option /EXPORTS.
Vous pouvez exporter des fonctions à partir d'une DLL selon deux méthodes :
Créez un fichier de définition de module (.def) et utilisez-le lors de la génération de la DLL. N'adoptez cette approche que si vous souhaitez exporter des fonctions à partir de la DLL par ordinal plutôt que par nom.
Utilisez le mot clé __declspec(dllexport) dans la définition de la fonction.
Lorsque vous exportez des fonctions par l'une de ces méthodes, 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 en langage C ou C++
Exporter des fonctions à partir d'une DLL par ordinal plutôt que par nom