博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
托管c++与c#的转化二
阅读量:4091 次
发布时间:2019-05-25

本文共 591 字,大约阅读时间需要 1 分钟。

c++中结构体的转换

对于原生c++,有如下结构体

struct Data{        std::string str;         unsigned int ID;             double       Value;     }

有一个函数bool GetData(Data* pData);

那么,c#如何调用该函数呢?一共两步

1、首先,我们要在托管c++中写一个与之对应的结构体OutputDataCS

  

public ref struct )DataCS    {            String^ str;    ;       unsigned int ID;           Double  Value;            };

 

2、定义一个包装函数GetData_CS供C#调用

bool GetData_CS(DataCS^ cs){           Data temp;//定义一个结构体临时变量    bool result= GetData(&temp);//调用c++函数    //开始转换     cs->str=gcnew String(temp. str.c_str()) ;     cs->Value=temp.Value ;    return  result;;}

 

如果是List列表,需要使用gcnew

 

 

 

 

 

 

转载地址:http://nviii.baihongyu.com/

你可能感兴趣的文章
剑指_复杂链表的复制
查看>>
FTP 常见问题
查看>>
shell 快捷键
查看>>
MODULE_DEVICE_TABLE的理解
查看>>
No devices detected. Fatal server error: no screens found
查看>>
db db2_monitorTool IBM Rational Performace Tester
查看>>
postgresql监控工具pgstatspack的安装及使用
查看>>
swift中单例的创建及销毁
查看>>
【JAVA数据结构】双向链表
查看>>
【JAVA数据结构】先进先出队列
查看>>
谈谈加密和混淆吧[转]
查看>>
乘法逆元
查看>>
Objective-C 基础入门(一)
查看>>
phpquery抓取网站内容简单介绍
查看>>
找工作准备的方向(4月22日写的)
查看>>
关于fwrite写入文件后打开查看是乱码的问题
查看>>
用结构体指针前必须要用malloc,不然会出现段错误
查看>>
Linux系统中的美
查看>>
一些实战项目(linux应用层编程,多线程编程,网络编程)
查看>>
原来k8s docker是用go语言写的,和现在所讲的go是一个东西!
查看>>