我想将uint8数组作为参数传递给我的S函数:
inParam = char(uint8(1:7))
Run Code Online (Sandbox Code Playgroud)
在S功能中,我做了以下工作
UINT8_T *inParam = (UINT8_T *)mxGetPr(ssGetSFcnParam(S, PARAM_IN_PORT_NR)); //;
Run Code Online (Sandbox Code Playgroud)
但是我看到实际上数组元素存储为2个字节。
UINT16_T *inPorts = (UINT16_T *)mxGetPr(ssGetSFcnParam(S, PARAM_IN_PORT_NR)); //
// I can loop through the data
// This is only a snippet
*(inPorts++);
Run Code Online (Sandbox Code Playgroud)
这是为什么?在所有的Matlab版本中都会发生这种情况吗?