C#调用C语言结DLL 结构体不会封装,怎么在C#中对应C语言的结构体呢

asdfg48_ 2014-10-27 09:18:34
//决策树节点
typedef struct{
char *RecordData[1000][100]; //训练数据
int Record_Number; /*训练数据的行数*/
int Attribute_Number; /*训练数据的列数*/
}TrainDataNode;

typedef struct DecisionTreeNode{
int keynum;
char SelectedAttributeName[30]; //选择的属性名
char AttributeValue[30]; //属性值
int Record_Marker[1000]; //?????
int Attribute_Marker[100];
struct DecisionTreeNode *ptr[50];
}DecisionTreeNode, *DecisionTree;
C语言的结构体,做成DLL,C#中怎么封装调用呢,急求各位大侠帮我解决下
...全文
172 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
save4me 2014-10-28
  • 打赏
  • 举报
回复
参考: 平台调用P-INVOKE高级篇(一)--(封送含有二维数组的结构体) 可以先定义子结构体,然后再转,就相当于分两步
引用 5 楼 asdfg48_ 的回复:
char *RecordData[1000][100]; //训练数据 这句应该怎么转化呢,二维的呀
asdfg48_ 2014-10-28
  • 打赏
  • 举报
回复
引用 2 楼 jiangsheng 的回复:
去下载http://clrinterop.codeplex.com/releases/view/14120然后用这个来转换你的C++代码
这个东西怎么用,我英语不好啊,看不明白
asdfg48_ 2014-10-28
  • 打赏
  • 举报
回复
引用 4 楼 save4me 的回复:
可以参考一下: Marshalling Complicated Structures using PInvoke
引用 4 楼 save4me 的回复:
可以参考一下: Marshalling Complicated Structures using PInvoke
引用 4 楼 save4me 的回复:
可以参考一下: Marshalling Complicated Structures using PInvoke
char *RecordData[1000][100]; //训练数据 这句应该怎么转化呢,二维的呀
save4me 2014-10-28
  • 打赏
  • 举报
回复
asdfg48_ 2014-10-27
  • 打赏
  • 举报
回复
引用 2 楼 jiangsheng 的回复:
这里面有指针啊,C++的DLL是32位还是64位?
64位的
蒋晟 2014-10-27
  • 打赏
  • 举报
回复
去下载http://clrinterop.codeplex.com/releases/view/14120然后用这个来转换你的C++代码
asdfg48_ 2014-10-27
  • 打赏
  • 举报
回复
先顶为敬

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧