您好,匿名用户

dll 中返回 void * 类型的函数,如何在C#中声明?

0 投票

C++中原型是怎样的:

extern "C" _declspec(dllexport) void * creat(const char* password);

整个怎么在C# 中调用啊,void * 正常对应的是 IntPtr,可总是说签名不正确,byte[]也不行

用户头像 提问 2014年 6月27日 @ Vladimir 中士 (1,295 威望)
分享到:

1个回答

0 投票
 
最佳答案

你应该先贴问题代码。 我觉得可能是没有指定CallingConvention

[DllImport("???.dll", EntryPoint = "creat", ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAs(UnmanagedType.SysInt)]
public static extern IntPtr Create(...);
用户头像 回复 2014年 6月27日 @ Jayce 中士 (1,281 威望)
选中 2013年 9月8日 @Vladimir
提一个问题:

相关问题

0 投票
1 回复 222 阅读
用户头像 提问 2013年 10月15日 @ Sejuani 中士 (1,332 威望)
0 投票
1 回复 85 阅读
0 投票
1 回复 119 阅读
用户头像 提问 2013年 11月7日 @ Cassiopeia 中士 (1,302 威望)
0 投票
1 回复 159 阅读
用户头像 提问 2016年 7月27日 @ Sivir 中士 (1,290 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

IT技术交流群 - 随意问
欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...