c - 将无符号字符指针从matlab传递到c接口(interface)dll

标签 c matlab pointers dll

我有一个带有 C++ 类的 C 接口(interface) DLL,该类具有无符号字符指针函数参数。如何处理从 matlab 到 c dll 的无符号字符指针?我尝试过转换为 uint8、libpointer('uint8',0),并让 matlab 通过传入数字 0 或 1 来处理它。我尝试的任何方法都不起作用。我只是从我放入其中的 matlab 函数中获得相同的输入。关于如何处理从 matlab 到 c 的无符号字符指针有什么建议吗?

最佳答案

如果有人自己遇到这个问题。当您需要在 c 或 c++ 中进行处理时有 unsigned char 数据时,解决方案是将 matlab 数据作为整数 (int) 传递。然后通过 c 接口(interface)将其作为整数接收,并仅在接收后将其转换为无符号字符。

这样做的原因是整数比无符号字符保留更多的内存。因此,如果您使用整数来传递数据,则只有在将其分配给无符号字符时,才会砍掉多余的内存位。

关于c - 将无符号字符指针从matlab传递到c接口(interface)dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32343281/

相关文章:

matlab - 机器学习 - 训练步骤

c - 数组大小调整和 realloc 函数

c++ - 指针的两种不同类型的星号位置?

c - 如何避免牌组出现重复

检查字符串中是否存在\n - C

c - 使用 %d 的负 float 的 printf

c++ - 多边形轮廓上的边并不总是正确的

java - 线程化 Matlab 代码

matlab - 神经网络输出 :Scaling the output range

arrays - 在 Swift 中处理包含数组的结构体的指针