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位導致的?