扫码关注官方订阅号
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位导致的?
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
你应该先贴问题代码。 我觉得可能是没有指定
CallingConvention
:签名不正确?你确定不是因为你的dll是32位而你的系统是64位导致的?