Exportation d'une classe C entière à partir d'une DLL
Liaison tardive avec chargement dynamique de bibliothèque
Bien que l’exportation de fonctions de niveau C à partir d’une DLL soit simple, la gestion des classes exportées nécessite une approche différente. La liaison tardive, obtenue grâce au chargement dynamique de bibliothèques, fonctionne bien pour les fonctions mais présente des défis pour les classes.
Chargement dynamique des classes
Malheureusement, le chargement dynamique des classes n'est généralement pas pris en charge . Créer un lien vers une classe définie dans une DLL et la charger dynamiquement nécessite des techniques spéciales :
Liaison au moment de la compilation avec en-tête et Lib
Pour la liaison au moment de la compilation, la technique du préprocesseur impliquant l'exportation de la classe avec __declspec(dllexport) et l'inclusion de l'en-tête et la liaison vers le fichier lib reste l'approche préférée. Visual Studio fournit ces macros pour faciliter leur utilisation.
Conclusion
Bien que la liaison tardive puisse être souhaitable pour plus de flexibilité, la liaison implicite est plus pratique pour exporter des classes C à partir de DLL. La technique de préprocesseur décrite ci-dessus permet un accès transparent aux classes exportées au moment de la compilation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!