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

时间:2015-09-02 01:24:02

标签: c matlab pointers dll

我有一个带有c ++类的c接口dll,它有一个unsigned char指针函数参数。如何处理从matlab到c dll的unsigned char指针?我已经尝试过转换为uint8,libpointer(' uint8',0),只是让matlab处理它,传递数字0或1.我尝试的任何东西都没有。我只是从我输入的matlab函数中得到了相同的输入。关于如何处理从matlab到c的unsigned char指针的任何建议?

1 个答案:

答案 0 :(得分:0)

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

这是有效的原因是因为整数保留的内存比unsigned char多。因此,如果使用整数传递数据,则只有在将其分配给unsigned char时才会切掉额外的内存。