我有原型的C函数, void * VoidPointer(void *); 现在我需要在C#中编组它(使用DllImport)。但我不知道如何提及C#代码中的参数。
我是C#的新手,需要尽快解决这个问题(在几次尝试中都有错误,因为这样的错误无法从'int'转换为'System.IntPtr') 感谢。
答案 0 :(得分:2)
c#支持void指针。只需将函数声明为
即可[DllImport("test.dll")]
public static extern unsafe void* VoidPointer(void* AValue);
public unsafe void Test()
{
int* a;
int b = 0;
a = (int*)VoidPointer(&b);
}
(这只适用于void指针引用的整数)