C#中调试C++的DLL
zz from http://blog.csdn.net/xiaogelee/archive/2007/12/03/1914057.aspx
被C#调用的DLL一般只需要把导出的函数以适当的形式呈现即可调用,比如
extern "C" __declspec(dllexport) BOOL Integrate3 (){...},这样的函数,在C#里面声明如: [DllImport("xxx.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)] extern "C" __declspec(dllexport) 由于数据类型不一致,所以在声明时要注意把类型转换过来。 [DllImport("xxx.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)] 这样调用基本是没有问题,重点在于数据类型的转换。多试过几次了就不问题了。 另外一个小小的实践经验就是在C#中调试C++的DLL,知道了就是一句话,不知道就要搞半天,在C#项目属性中“启用调试项”中一项:“启用非托管代码调试”,钩上这个,就万事大吉了,就像你调试一般的程序一样。 |
出处:http://slave2.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。