日期:2014-05-18  浏览次数:20797 次

请高手帮忙分析一下c#调用c++dll的一个奇怪问题
在c#中调用c++写的myCpp.dll的函数,假设是getData(void* pMem),getData往pMem中写一些数据。
我在c#中这么调用,
[DllImport("myCpp.dll")]
public static extern void getData(byte[] pMem);

byte[] b = new byte[50,000];
getData(b);
问题是运行时得不到想要的结果。
于是在myCpp.dll中设断点调试,这样却总是在C#得到正确的结果。

请问是怎么回事?在从dll返回c#时候到底发生了什么?

------解决方案--------------------
try
system.intptr