84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
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位导致的?