社区
Qt
帖子详情
C++与C#的交互
处处留心
2019-01-05 11:51:25
C#如何调用C++的dll,需要注意什么?
...全文
1208
6
打赏
收藏
C++与C#的交互
C#如何调用C++的dll,需要注意什么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
十八道胡同
2019-01-08
打赏
举报
回复
这个其实baidu里面可以搜到的, 我最近刚把一个C#项目转到C++项目,其中就包含你说的C#调用C++的问题
你参考下吧
https://blog.csdn.net/LCL_data/article/details/85247925
有问题可以直接at我问
weixin_41959042
2019-01-08
打赏
举报
回复
进来看一下收拾收拾
Csdn技术大神
2019-01-08
打赏
举报
回复
封装转化多注意注意就可以了
xian_wwq
2019-01-08
打赏
举报
回复
引用 楼主 处处留心 的回复:
C#如何调用C++的dll,需要注意什么?
P/Invoke调用,细节比较多:
1. 要求c++ dll封装为c模式,可以百度 extern “C”
2. 基本类型可以直接对应;
char* --> string 或 stringbuilder,如果要返回数据,就必须用stringbuilder,需要提前根据需要申请空间。
如果是结构体,那么要重点关注内存对齐方式(Pack),字符集(CharSet)。
函数指针--> 委托。
3. 特别注意dll的依赖性,很多机器需要安装相应版本的vcredist。
zarelaky
2019-01-07
打赏
举报
回复
c++写的dll最好封装成C接口给C#使用,c++的类在C#里面使用很麻烦。
Y_Theta
2019-01-07
打赏
举报
回复
好像要在模块导出文件中将函数声明好
C++
调用
C#
的DLL实例程序
C++
调用
C#
的DLL实例程序,压缩包中包含部分程序说明,很小的几行代码,但是
C++
调用
C#
的DLL目的已经达到。
C++
和
C#
之间互相调用
HMIWizardAPI 封装了常用的API 。 FCAlarm
C#
类库 我们要嵌入的东西。 dlgtest 对话框主程序。 如何让两者之间互相调用及动态创建。 详见博客 http://blog.csdn.net/gangyilovevc/archive/2011/04/21/6339003.aspx
C#
调用
C++
的中间封装(CLR)
采用CLR技术对
c++
封装,相当于可以使
c#
直接使用
c++
的类
C#
调用
C++
的dll实例,回调函数,string和int数组参数传递
C#
调用
C++
的dll实例,回调函数,string和int数组参数传递,在vs2010下调试通过,总结在这里,供大家参考。
C++
通过Callback向
C#
传递数据的方法
现在比较流行
C#
与
C++
融合:
C#
做GUI,开发效率高,
C++
做运算,运行效率高,二者兼得。 但是
C++
与
C#
必然存在数据
交互
,
C#
与
C++
dll的数据
交互
从来都是一个让人头疼的问题。 从调用方式看也有两种情况: 1、
C#
调用
C++
函数 这种情况用的比较多,数据流向可以是
C#
流向
C++
,通过参数将数据传递给
C++
(如:SetData(double[] data));也可以是
C++
流向
C#
(如:GetData(double[] data))。 2、
C++
Callback 这种情况是
C++
中通过Callback的方式调用
C#
代码,类似于
C++
做过一些处理后向
C#
发送事件,事件可以携带数据(如处理
Qt
16,818
社区成员
26,684
社区内容
发帖
与我相关
我的任务
Qt
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
复制链接
扫一扫
分享
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章