社区
go语言
帖子详情
go调用dll,传入指针参数,dll中对该指针malloc内存,如何传参?
版主大哥
2015-07-13 10:33:34
目前有需求,go调用c写的dll,dll中malloc一块可变长度的内存返回给go,那么go需要传入1个byte的指针
请问如何做?
...全文
1166
2
打赏
收藏
go调用dll,传入指针参数,dll中对该指针malloc内存,如何传参?
目前有需求,go调用c写的dll,dll中malloc一块可变长度的内存返回给go,那么go需要传入1个byte的指针 请问如何做?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
版主大哥
2015-08-20
打赏
举报
回复
搞不了,最后还是直接去dll中获取长度,然后go中make对应长度的内存,传进去...
十一文
2015-08-10
打赏
举报
回复
楼主可以参看哈这个: http://studygolang.com/topics/78
VC
中
的常用的20个方法
VC
中
的常用的20个方法VC
中
的常用的20个方法VC
中
的常用的20个方法VC
中
的常用的20个方法VC
中
的常用的20个方法VC
中
的常用的20个方法VC
中
的常用的20个方法
关于C#
调用
C++
dll
传
指针
释放
内存
问题
一、
传入
dll
前,在C#
中
申请
内存
空间 c#里面的
指针
即 IntPtr 申请如下: IntPtr SrcImgData = Marshal.AllocHGlobal(length); 这种需要提前知道空间大小,否则无法确定空间大小,会导致
dll
内部处理时越界报错。 c#里面申请空间了,那么c++里面一般就是在这些空间里面操作了,一般不会重新分配
内存
,那么就不需要加引用了。 c++: uchar* SrcImg c#导入
dll
函数时申明: IntPtr SrcImg 那么
内存
释放自然也是由c#来进行。
LabVIEW传递接收C/C++
DLL
指针
需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其
中
压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。若要将
调用
库函数节点配置为接收
指针
,请将“类型”设置为“数字”,将数据类型设置为“有符号
指针
大小的整数”。若要传递结构,只需按顺序
传入
组成元素,若要传递指向结构的
指针
,可以将表示结构的群集作为“适应类型”输入传递,其数据格式设置为“按值处理”。根据返回的数据类型,可以自动取消引用
指针
(如数字和简单结构),也可以接受
指针
作为表示
指针
的整数值,然后手动取消引用
指针
以获取其值。此整数值是
内存
地址。
go
调用
c++
中
数组
指针
相关
如果你将一个 Go 对象的
指针
转换为 unsafe.Pointer,然后这个 Go 对象变得不可达(没有任何变量引用它),Go 的垃圾收集器仍然会认为这个对象是可达的,因为它不知道 unsafe.Pointer 指向了这个对象。避免
内存
泄漏:如果你将 unsafe.Pointer 指向一个 Go 对象,并且这个对象可能变得不可达,你需要确保在适当的时候将 unsafe.Pointer 转换回正确的 Go
指针
类型,并重新建立一个到该对象的引用,以防止对象被垃圾收集器回收。否则,这会导致
内存
泄漏。
python
调用
so库输出
传入
指针
_python
中
使用ctypes
调用
so
传参
设置遇到的问题及解决方法...
python
中
使用ctypes
调用
so
传参
设置遇到的问题及解决方法问题近日在做一组声纹聚类时,使用了另一团队同学开发的声纹距离算法。该算法对外提供的是一组so包,需要使用方自己去使用。在python
中
调用
纯so包一般使用ctypes类库,用起来看起来简单但也有不少细节容易犯错。本次使用过程
中
,就遇到
传参
的问题。目标so库
中
对外export的函数是大致如下的三个函数:void* create_han...
go语言
2,348
社区成员
923
社区内容
发帖
与我相关
我的任务
go语言
go语言学习与交流版
复制链接
扫一扫
分享
社区描述
go语言学习与交流版
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章