2011-09-17 5 views
1

je remarquai que DLL compilé avec l'ancien VC6 (msvcrt.dll) encore et runnable "appelable" même dans une DLL (ou un programme) qui est lié avec msvcr100.dllmsvcr100 et MSVCRT

Très pratique, mais pensez-vous que c'est une bonne idée d'avoir les deux runtimes en même temps dans un processus?

+1

Ce n'est pas une bonne idée. Il ne s'agit toutefois pas d'une mort instantanée si les exportations de DLL sont correctement conçues, n'exposant ainsi aucun objet ou pointeur C++ devant être libéré. –

Répondre

4

Bien que ce ne soit pas vraiment une bonne idée de combiner plusieurs runtimes C en un seul processus, sous Windows, il est souvent impossible de contourner ce problème. Cela devrait fonctionner sans problème tant que vous ne passez pas les structures implémentées par les CRT entre les parties en utilisant des implémentations CRT séparées (cas le plus courant: FILE *), au moins en C. avec C++, les choses deviennent légèrement plus complexes modèles et en vertu de C++ étant C++.

Questions connexes