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; };