-
probl�me avec Cdecl
Bonjour � tous,
J'utilise une dll C++ dans mon code C#, et cette dll non manag� a �t� compil� sous vc++ avec une convention d'appel Cdecl, et un CharSet Ansi. Au d�part, j'ai recompil� le code source de cette dll sous vs2005 tout en changeant la convention d'appel � StdCall. Ensuite dans mon wrapper je d�clare Charset.Ansi, et CallingConvention.StdCall. Et cette version de mon programme marchait tr�s bien.
Cependant, il se trouve que le code source de cette dll a chang� et que je suis maintement dans l'obligation de l'utiliser tel qu'elle. Donc j'ai changer tous les CallingConvention.StdCall en CallingConvention.Cdecl. Malheureusement, ceci ne fonctionne plus correctement. C'est a dire que le programme d�marre et puis s'arrete tout seul sans meme lever d'exception. Je me demande si la convention d'appel Cdecl en elle m�me peut causer des probl�mes d'�xecution sur vs2005? Ou sinon, est ce que je dois changer quelques choses dans mes d�l�gu�s qui appelent les fonction utilisant CallingConvention.Cdecl ?
Merci de votre aide ;)
-
Ayant r�ussi � r�cuprer la m�me dll mais avec CallingConvention = StdCall, mon programme remarche normalement. Ceci m'am�ne � conclure qu'il y a vraiment un probl�me entre le CLR et Cdecl. Je ne sais pas c est quoi le probl�me exactement, mais il existe, et j'ai pas la solution pour l'instant. :bug:
-
je pensais qu'en pr�cisant explicitement la convention d'appel, ca fonctionnerait ...
bizarre :?