社区
进程/线程/DLL
帖子详情
请问如何在DLL中把一个类或结构的数据传递到调用程序中?
sinfee
2004-02-10 09:43:34
我的DLL中有些函数需要返回很多参数给调用的程序,请问哪种方法最好、最简洁?
我想到要把类或结构的数据传递到主调程序,该如何实现呢?
请各位大侠帮忙,肯定给分!最好有源码
...全文
31
12
打赏
收藏
请问如何在DLL中把一个类或结构的数据传递到调用程序中?
我的DLL中有些函数需要返回很多参数给调用的程序,请问哪种方法最好、最简洁? 我想到要把类或结构的数据传递到主调程序,该如何实现呢? 请各位大侠帮忙,肯定给分!最好有源码
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
C#
中
导入C++
dll
中
的
类
并定义
dll
的回调函数实现
dll
中
数据
的实时获取
对于一些底层算法库,我们一般封装成c++
dll
,如果需要在c#
中
实现
调用
,实际上很简单的导出c++
dll
的函数即可。但如果c++
dll
中
有一些实时
数据
需要
传递
出来,那么一种常规做法就是在c++
中
设置回调函数,相当于提供
一个
接口,c#前端就可以利用这个接口来实时获取c++
dll
中
的
数据
如下是
一个
实例: 首先定义c++
dll
,用于模型训练,并回传训练过程
中
的字符串日志和结果
数据
。所以分别定义了
一个
传递
日志的回调函数和
一个
传递
数据
的回调函数 // -------------------c++ dl
Python
调用
c++的动态
dll
中
数据
映射(Mat
类
型
传递
及
结构
体
传递
)
参考 参考1:python
调用
dll
数据
映射 参考2:Mat,uchar*,uchar[]之间的相互转换 背景 python可以使用 ctypes 模块
调用
c 函数、c 的变量
类
型(包括
结构
体
类
型、指针
类
型),但是ctype只支持C标准,所以一些C++的标准是不能用的,比如函数重载、Mat
类
型。Mat并不是c的语法,所以一般转换为uchar进行
传递
。 转换表: python获取
类
型指针API Mat,uchar*,uchar[]之间的相互转换 Mat加载、
结构
体返回实现过程 首先在
DLL
文件
中
声明结
c#
程序
调用
c++编写
dll
需要注意问题
现在在写c#
调用
c++
dll
的例子,
dll
中
某
一个
函数需要
一个
结构
体地址作为参数
传递
。 但是在
传递
结构
体的时候,
程序
一直返回错误,估计原因在c#写的
结构
体和c++
中
的
结构
体之间有些不一致。 下面以例子说明-----c#
程序
在
调用
c++
dll
的时候需要注意问题。 (1) c++和c#
中
对应的
数据
结构
大小一致 简单的c++
dll
程序
如下: // my
dll
.cpp
LabVIEW
调用
DLL
传递
结构
体参数
LabVIEW
中
调用
动态库接口时,如果是值
传递
的
结构
体,可以根据字段拆解为多个参数;如果参数为
结构
体指针,可用簇(Cluster)来匹配,其内存连续相当于单字节对齐。
64位
程序
调用
32位
DLL
最近再把原来写的股票分析
程序
转换成64位版本,
程序
中
调用
了银江的通视
数据
接口
dll
,因为银江提供的
dll
是32位的,但windows下面64位
程序
并不能直接
调用
32位的
dll
,所以只能百度了. 网上有说用进程外com的方式可以,之前从没接触过com,硬着头皮搞了半天,发现了问题,进程外com对于
dll
提供函数返回值不涉及指针的话没有任何问题,但是如果
dll
函数返回值是
一个
指针
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章