MATLAB® возвращает указатели на структуры. Возвратитесь значением, не поддержан.
Вложенные структуры или структуры, содержащие указатель на структуру, не поддержаны. Однако MATLAB может получить доступ к массиву структур, созданных во внешней библиотеке.
Когда вы передаете структуру MATLAB внешней библиотечной функции, имена полей должны удовлетворить следующие требования.
Каждое имя поля MATLAB должно совпадать с именем поля в определении структуры библиотеки.
Структуры MATLAB не могут содержать поля, которые не находятся в определении структуры библиотеки.
Если структура MATLAB содержит меньше полей, чем заданный в структуре библиотеки, MATLAB обнуляет неопределенные поля.
Имена полей являются чувствительными к регистру. Например, предположите, что библиотека mylib
содержит функциональный myfunc
со следующим определением структуры.
struct S { double len; };
Именем поля является len
. Если вы передаете структуру myfunc
с именем поля Len
, MATLAB отображает ошибку.
S.Len = 100; calllib('mylib','myfunc',S)
Требования для Имен полей struct C
Когда MATLAB загружает определение struct
C, имена полей в MATLAB не являются чувствительными к регистру. Например, когда вы загружаете библиотеку, содержащую следующее определение, MATLAB не создает два поля.
struct S { double Num; double num; };