我正在尝试在 MATLAB 中读取以下函数的 int 和字符串数组:
int DLLEXPORT getdata(int *index, char *id[])
在 CI 中,只需执行以下代码即可:
int count;
int *index = calloc(MAXLINE, sizeof(int));
char **id = calloc(MAXLINE, sizeof(char*));
for (for i = 0; i < MAXLINE; ++i)
id[i] = malloc(MAXID);
errcode = getdata(index, id);
在 MATLAB 中,我正在尝试以下代码,但没有成功:
errorcode = libpointer('int32');
index = libpointer('int32Ptr');
id = libpointer('stringPtrPtr');
[errorcode, index, id] = calllib('mylib','getdata', index, id);
我已经尝试初始化 libpointers 并且收到相同的消息“检测到分段违规”。有人可以帮助我吗?