Je suis sur Linux, et j'essaie d'écrire du code multiplateforme. Je sais que les modèles sont difficiles à utiliser correctement sur Windows, mais je ne me souviens pas des détails. Je sais qu'un problème concerne le débogage de modèles et les modèles qui croisent les limites dll, mais pas comment contourner ce problème - ou si une solution de contournement est même possible. Je crois qu'il y a d'autres problèmes, mais je n'ai trouvé que de vagues références à ces problèmes. Donc, quels sont les problèmes avec les modèles C++ sur Windows? En dehors de l'utilisation de modèles, quelles sont les solutions?Quels sont les problèmes avec les modèles sur Windows? Quelles sont les solutions?
Edit: Peut-être que les problèmes ne sont que le STL
, et non avec des modèles en général?
Deux citations:
Vous ne pouvez pas exposer les appels STL à travers les frontières de la bibliothèque sur les fenêtres sans maux de tête importants.
et
Encapsulation est un must, je l'ai fait des projets avec des conteneurs stl sur les frontières dll ainsi que les bibliothèques statiques sur les fenêtres et il est impossible d'utiliser sans encapsulation.
Cela dépend de la compilation, pas de l'OS ... – unsym
Votre question n'est pas assez spécifique. Il n'y a pas de problème spécifique aux fenêtres avec les templates. Les DLL devraient aussi bien convenir, tant que vous ne mélangez pas les CRT, les compilateurs, et n'utilisez pas de fichiers crt liés statiquement avec des DLL. Au lieu de lire des informations douteuses provenant de sources non fiables (** qui a dit que "l'encapsulation est un must"?), Pourquoi n'essayez-vous pas simplement d'utiliser des DLL avec des templates pour voir ce qui se passe? Si vous rencontrez un problème, vous pouvez toujours poser une question * spécifique *. – SigTerm
@SigTerm le gars qui a dit qu'il a de nombreuses années d'expérience en tant que développeur sur Windows.Je pourrais installer Windows sur un VM et l'essayer moi-même, mais dans le passé j'ai eu du mal à faire des builds sur windows. – Mark