【发布时间】:2015-05-04 11:08:00
【问题描述】:
我尝试从我的 C# 应用程序中的外部 DLL 调用普通 C 函数。这个函数定义为
void set_param(const char *data)
现在我在使用这个函数时遇到了一些问题:
如何在 C# 代码中指定这个“const”?
public static extern void set_param(sbyte *data)似乎错过了“const”部分。在调用此函数时,如何交出一个普通的 8 位 C 字符串?对
set_param("127.0.0.1")的调用会导致错误消息,“无法从 'string' 转换为 'sbyte'”*。
【问题讨论】:
-
我认为
public static extern void set_param(string data)应该可以工作。 -
我想你会在这里找到很多例子pinvoke.net
标签: c# .net dll pinvoke marshalling