首页 > > > C#调用C++的dll报错
我用C#调用C++的dll里面的方法,报错,找了很久也不知道是什么原因,期待各位能不吝赐教。
C++中的方法:
int api_ihuConnect(char *server,char *user, char *password, long *IHServerHandle)
我在C#中的调用是:
[DllImport("tdll1.dll", EntryPoint = "api_ihuConnect",CharSet=CharSet.Ansi,CallingConvention = CallingConvention.StdCall)]
public static extern int Api_ihuConnect(string serverString, string userName, string pwdName, int serverHandler);
但是当我调用的时候报错:尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
C#跟C++的类型应该没有转错吧,如果类型错了应该不是提示这个错误的,另外C++的long*类型,在C#中是哪一种类型呢?
找了很久,都找不到解决方法,希望各位能帮帮小弟,指点一二。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3711/viewspace-3132535/ ,如需转载,请注明出处,否则将追究法律责任。