递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 1228|回复: 6
打印 上一主题 下一主题

[视窗] 调用第三方 DLL, 遇到无符号字节指针和整数型指针

[复制链接]

5

主题

135

帖子

2559

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2559
跳转到指定楼层
楼主
发表于 2024-8-3 10:09:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

函数:int ICATCom_ReadRGBI(const int CommPort, const int Channel, unsigned char* RedValues, unsigned char* GreenValues, unsigned char* BlueValues, int* IntensityValues)
功能:读取测试仪指定通道的 RGB 和相对光强度(Intensity)的值
参数:
--ComPort: 整形数,指定的设备的串口号,如连接在 Com3, 则该参数为 3。
--Channel: 整形数,测试仪通道号,从 0 开始。0 表示第一个通道
--RedValues: 无符号字节型指针,保存返回的 Red 值(0-255)
--GreenValues: 无符号字节型指针,保存返回的 Green 值(0-255)
--BlueValues: 无符号字节型指针,保存返回的 Blue 值(0-255)
--IntensityValues:整形数指针,保存返回的 Intensity 的值(0-99999)


我用这个调用会卡死,是在哪里错了


回复

使用道具 举报

26

主题

1900

帖子

6926

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6926
沙发
发表于 2024-8-3 10:15:22 | 只看该作者
按以前那样,将所有指针改成变整数,传参时 取变量地址 (无符号字节变量)
你也可以自己封装一个无符号字节指针,但没什么必要。
回复

使用道具 举报

5

主题

135

帖子

2559

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2559
板凳
 楼主| 发表于 2024-8-3 11:27:16 | 只看该作者
Xelloss0618 发表于 2024-8-3 10:15
按以前那样,将所有指针改成变整数,传参时 取变量地址 (无符号字节变量)
你也可以自己封装一个无符号字节 ...


第一次使用第三方的 DLL,不知道是不是改成这样




回复

使用道具 举报

26

主题

1900

帖子

6926

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6926
地板
发表于 2024-8-3 11:40:19 | 只看该作者
是,指针传参时用 取变量地址
回复

使用道具 举报

5

主题

135

帖子

2559

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2559
5#
 楼主| 发表于 2024-8-3 11:47:02 | 只看该作者
Xelloss0618 发表于 2024-8-3 11:40
是,指针传参时用 取变量地址

谢谢你,成功了
回复

使用道具 举报

5

主题

135

帖子

2559

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2559
6#
 楼主| 发表于 2024-8-3 14:06:53 | 只看该作者
Xelloss0618 发表于 2024-8-3 11:40
是,指针传参时用 取变量地址

大佬,我还想问一下如果是文本数组和整数数组要怎么操作?谢谢
回复

使用道具 举报

26

主题

1900

帖子

6926

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
6926
7#
发表于 2024-8-3 14:14:43 | 只看该作者
aronshen 发表于 2024-8-3 14:06
大佬,我还想问一下如果是文本数组和整数数组要怎么操作?谢谢

DLL的数组本质上也是指针, 整数[10] 这种基本数组就用「取数组变量地址」,整数类用「整数数组类.取数组指针」。
文本数组比较难搞,要看文本编码,目前没什么现成的写法。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-11-24 05:18 , Processed in 0.094698 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表