我正在尝试通过 dll 从 C# 接口一些 C/C++ 代码。我不是一个流利的 C/C++ 程序员,但一直使用 C#。我目前正在尝试处理这些 C/C++ 类型:
#ifndef struct_emxArray_char_T_1024
#define struct_emxArray_char_T_1024
struct emxArray_char_T_1024
{
char_T data[1024];
int32_T size[1];
};
#ifndef typedef_e_struct_T
#define typedef_e_struct_T
typedef struct
{
emxArray_char_T_1024 value1;
real_T value2;
uint32_T value3;
boolean_T value4;
} e_struct_T;
它们是由第三方工具创建的。我不成功的 C/C++ 尝试初始化 value1 如下:
static char_T test[5] = { 'h', 'e', 'l', 'l', 'o'};
emxArray_char_T_1024 x;
x.data = test;
x.size = 5;
e_struct_T Parameters;
Parameters.value1 = x;
Parameters.value2 = 50;
Parameters.value3 = 3;
Parameters.value4 = FALSE;
我想最终公开一个接受值的 C# 接口:
PerformCPlusPlusComputation(string value1, double value2, int value3, bool value)
它在 C/C++ 中初始化 e_struct_T。任何反馈将不胜感激。谢谢!