...void fun(unsigned char* ); 现在我要在C#中调用这个函数

发布网友 发布时间:2024-10-23 21:09

我来回答

2个回答

热心网友 时间:2024-11-07 06:50

如果在C++里声明的函数形参原型是char*,那么我会这样子调用:


C++ API原型如下:

extern "C"{
_declspec(dllexport) void fun(unsigned char* ){
    // 此处省略...
}
}


则,在C# 调用与声明如下:

[DllImport("你的动态链接库名称.dll", CallingConvention = CallingConvention.Cdecl)]
 public static extern void fun(StringBuilder sb);  // 采用StringBuilder

热心网友 时间:2024-11-07 06:52

C++中 unsigned char*==C# byte[]

C++
void fun(unsigned char* );

C#
void fun(ref byte);
比如数据是这样的
byte[] aa=new byte[2]{0x01,0x02};
调用的时候
fun(ref aa[0]);

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com