DLL C ++ à utiliser dans le programme C

J’ai une DLL dont le code source est écrit en C ++. J’aimerais créer la version statique de cette bibliothèque et pouvoir relier cette bibliothèque statique à une autre bibliothèque écrite en C pur. Le compilateur est MinGW sous Windows. Comment dois-je comstackr la première bibliothèque statique C ++ pour la rendre utilisable par une bibliothèque C?

Vous ne faites pas, vous faites le contraire. Vous faites fonctionner la bibliothèque C dans votre programme C ++. C ++ englobe le C, pas l’inverse (super-ensemble C ++, sous-ensemble C). Vous pouvez donc écrire un programme C ++ (en utilisant la syntaxe C ++ ou C) et le comstackr avec un compilateur c ++. Vous pouvez ensuite utiliser les bibliothèques C et C ++.

Vous ajoutez une API C à votre bibliothèque C ++. Dans le fichier d’en-tête que vous ajoutez

 #ifdef __cplusplus extern "C" { #endif . . . #ifdef __cplusplus } #endif 

Vous faites la même chose dans votre fichier C ++ C ++ “, mais vous pouvez #ifdef les #ifdef car vous savez que vous les comstackrez avec votre compilateur C ++.

Votre fichier C ++ api C ++ peut alors accéder à l’API C ++ mais l’exportation de votre bibliothèque est garantie à l’aide de l’interface binary d’application de style C (aucun nom ne peut être modifié). La bibliothèque peut ensuite être utilisée à partir d’une application C.

Le fichier d’en-tête sera utile pour les projets C et C ++