调用第三方 DLL, 遇到无符号字节指针和整数型指针
函数: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)
我用这个调用会卡死,是在哪里错了
按以前那样,将所有指针改成变整数,传参时 取变量地址 (无符号字节变量)
你也可以自己封装一个无符号字节指针,但没什么必要。 Xelloss0618 发表于 2024-8-3 10:15
按以前那样,将所有指针改成变整数,传参时 取变量地址 (无符号字节变量)
你也可以自己封装一个无符号字节 ...
第一次使用第三方的 DLL,不知道是不是改成这样
是,指针传参时用 取变量地址 Xelloss0618 发表于 2024-8-3 11:40
是,指针传参时用 取变量地址
谢谢你,成功了 Xelloss0618 发表于 2024-8-3 11:40
是,指针传参时用 取变量地址
大佬,我还想问一下如果是文本数组和整数数组要怎么操作?谢谢 aronshen 发表于 2024-8-3 14:06
大佬,我还想问一下如果是文本数组和整数数组要怎么操作?谢谢
DLL的数组本质上也是指针, 整数 这种基本数组就用「取数组变量地址」,整数类用「整数数组类.取数组指针」。
文本数组比较难搞,要看文本编码,目前没什么现成的写法。
页:
[1]