Как установить mwArray с предопределенными пользователем данными?Возможно ли смешивать компилятор библиотеки Matlab и время выполнения mex? - PullRequest
0 голосов
/ 17 октября 2018

Я начал работать с производственными библиотеками Matlab: Matlab Coder и Matlab library Compiler.У меня есть несколько вопросов

  1. В чем разница между mxArray и mwArray?(ответ ниже)

  2. Можно ли установить mxArray с предопределенными пользователем данными?(ответ ниже)

3.Можно ли установить mwArray с предопределенными пользователем данными?

4.Можно ли запустить DLL-компилятор библиотеки Matlab из mex-файла?

Я объединил dll-компилятор библиотеки Matlab с matlab-кодером, используя

    coder.ceval(...)

Первый вызов либо

    mlcInitializeApplication(..)

или

    MY_MATLAB_LIBRARY_NAME_Initialize(..)

возвращает false, и любой конструктор mwArray создает исключение

Есть ли проблема при смешивании библиотек времени выполнения mex и mlc?

** Кстати - когда я компилировал код mex в C ++, все работало.

1 Ответ

0 голосов
/ 17 октября 2018
  1. В чем разница между mxArray и mwArray?

(из Matlab) mwArray - это класс (концепция C ++), используемый для передачи ввода и вывода в функцию C ++, созданную компилятором SDK MatlabЭтот класс состоит из тонкой оболочки вокруг массива MATLAB®.Все данные в MATLAB представлены массивами.Класс mwArray предоставляет необходимые конструкторы, методы и операторы для создания и инициализации массива, а также простого индексирования

mxArray - это тип C, который содержит непрозрачный тип.Он может содержать массивы или матрицы в основном как ввод / вывод для файлов C mex.

** Я полагаю, что инициатива mx предназначена для mex, а инициатива mw - для оболочки matlab, но я не уверен в этом.

Можно ли установить mxArray с предопределенными пользователем данными - да

Вот пример

    mxArray *output[];
    output[0] = mxCreateNumericArray(ndim, dim, mxDOUBLE_CLASS, mxREAL);
    outData = mxGetPr(yourPtr);

3.Можно ли установить mwArray с предопределенными пользователем данными?Я не знаю

Можно ли запустить DLL-компилятор библиотеки Matlab из mex-файла?От инженера Matlab: Невозможно смешивать среды выполнения mlc и mex.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...