0
我有一個c接口dll,它有一個C++類,它有一個無符號字符指針函數參數。我如何處理從matlab到c dll的無符號字符指針?我已經嘗試過投射到uint8,libpointer('uint8',0),並讓matlab處理它,通過傳遞數字0或1.我沒有嘗試。我只是得到了相同的輸入,而不是我放入其中的matlab函數。任何建議如何處理matlab的無符號字符指針到c?將無符號字符指針從matlab傳遞到c接口dll
我有一個c接口dll,它有一個C++類,它有一個無符號字符指針函數參數。我如何處理從matlab到c dll的無符號字符指針?我已經嘗試過投射到uint8,libpointer('uint8',0),並讓matlab處理它,通過傳遞數字0或1.我沒有嘗試。我只是得到了相同的輸入,而不是我放入其中的matlab函數。任何建議如何處理matlab的無符號字符指針到c?將無符號字符指針從matlab傳遞到c接口dll
如果有人自己遇到這個問題。當你在c或C++中有unsigned char數據時,你需要做一些處理,解決方案是將matlab數據作爲一個整數(int)傳遞。然後通過c接口以整數形式接收它,並且只有在它被接收後纔將其轉換爲無符號字符。
這個工作原因是因爲整數保留比unsigned char更多的內存。因此,如果使用整數來傳遞數據,則只會在將其分配給無符號字符時刪除額外的內存位。