Существует два API преобразования данных, которые доступны для маршала и данных о формате через управляемое (.NET) и неуправляемый (MATLAB®) контур кода. В дополнение к ранее доступному MWArray
API, Встроенный API доступен. Каждый API имеет преимущества и ограничения, и у каждого есть конкретные приложения, для которых это подходит лучше всего.
MWArray
API, который состоит из MWArray
класс и несколько производных типов, которые сопоставляют с типами данных MATLAB, являются стандартным API, который использовался начиная с введения MATLAB Compiler SDK™. Это предоставляет полный маршалинг и форматирование услуг для всех основных типов данных MATLAB включая разреженные массивы, структуры и массивы ячеек. Этот API требует, чтобы MATLAB Runtime был установлен на целевой машине, когда это использует несколько примитивных функций MATLAB. Для получения информации об использовании этого API смотрите доступ к Доступному удаленно блоку.NET Используя MWArray.
Встроенный API был спроектирован особенно, хотя не исключительно, чтобы поддержать дистанционную работу.NET. Это позволяет, вы, чтобы передать аргументы и возвращаемые значения с помощью стандартного.NET вводите при вызове развернутой функции MATLAB. Здесь, маршалинг данных все еще используется, но это не явно в клиентском коде. Эта функция особенно полезна для клиентов, которые получают доступ к доступному удаленно компоненту с помощью нативного интерфейса API, когда это не требует, чтобы клиентская машина установила MATLAB Runtime. Кроме того, когда только нативные типы.NET используются в этом API, нет никакой потребности изучить семантику нового набора классов преобразования данных. Этот API непосредственно не поддерживает аналоги.NET для массива структур MATLAB и типов массива ячеек. Для получения информации об использовании этого API смотрите доступ к Доступному удаленно блоку.NET Используя Нативный API.NET: Магический квадрат.
Функции API MWArray по сравнению с нативным API.NET
API MWArray | Нативный API.NET | |
---|---|---|
Маршалинг/форматирование для всех основных типов MATLAB | X | |
Передайте аргументы и возвращаемые значения с помощью стандартных типов.NET | X | |
Доступ к доступному удаленно компоненту от клиента без установленного MATLAB | X | |
Доступ к доступному удаленно компоненту от клиента без установленного MATLAB Runtime (см. доступ к Доступному удаленно блоку.NET Используя Нативный API.NET: Ячейка и Struct). | X |
Собственный API.NET MATLAB Compiler SDK принимает стандартные типы данных.NET для вводов и выводов к вызовам функции MATLAB.
Эти стандартные типы данных.NET перенесены Object
класс — базовый класс для всех типов данных.NET. Это объектное представление достаточно, пока функции MATLAB имеют числовой, логический, или представляют вводы или выводы в виде строки. Это не работает хорошо на типы данных MATLAB как структура (struct) и массивы ячеек, начиная с нативного представления этих результатов типов массива в многомерном Object
массив, который затрудняет, чтобы постигать или обработать. Вместо этого MATLAB Compiler SDK обеспечивает специальную иерархию классов для массива структур и представления массива ячеек, спроектированного, чтобы легко взаимодействовать через интерфейс с нативным API.NET. Смотрите доступ к Доступному удаленно блоку.NET Используя Нативный API.NET: Ячейка и Struct для деталей.