2010-01-07 7 views
1

J'ai entendu quelque part que le passage de wchar_t entre VS2005 et VC6 est assez dangereux. J'ai essayé de supprimer la mémoire qui a été allouée à partir de VC6 dll de VS2008 exe, et il a levé l'assertion. Après avoir fait référence Bad pointer or link issue when creating wstring from vc6 dll, j'ai ajouté un func dans VC6 dll qui doit être utilisé pour supprimer la mémoire. Et cela a résolu mon problème.VS2008 exe-VC6 dll interopérabilité

Mais est-il une différence entre Sturcture interne de whcar_t entre VS2008 et VC6 .. S'il vous plaît aider ..

Rgrds, Jinto

Répondre

1

VC6 n'a pas un type wchar_t, pour commencer. Cependant, sur les deux, il s'agit d'un type 16 bits, ce qui ne devrait pas causer de problèmes majeurs. Il est probablement sans rapport avec les problèmes que vous avez avec malloc() et free(), qui fonctionnent sur la mémoire brute, non typée.

+0

Je ne pense pas, je suis capable d'utiliser wchar_t dans les applications VC6. [MFC AppWizar exe - console]. Mais comme vous l'avez dit aucun problème majeur lorsqu'il est utilisé avec différents CRT. – Jinto