84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
C++中原型是怎样的:
extern "C" _declspec(dllexport) void * creat(const char* password);
整个怎么在C# 中调用啊,void * 正常对应的是 IntPtr,可总是说签名不正确,byte[]也不行
认证0级讲师
你应该先贴问题代码。 我觉得可能是没有指定CallingConvention:
CallingConvention
[DllImport("???.dll", EntryPoint = "creat", ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)] [return: MarshalAs(UnmanagedType.SysInt)] public static extern IntPtr Create(...);
签名不正确?你确定不是因为你的dll是32位而你的系统是64位导致的?
你应该先贴问题代码。 我觉得可能是没有指定
CallingConvention
:签名不正确?你确定不是因为你的dll是32位而你的系统是64位导致的?