Обеспечение переносимости мультиплатформенности

Скомпилированный MATLAB® код, содержащий только файлы MATLAB, не зависят от платформы, как и .jar файлы. Эти файлы могут использоваться из коробки на любой платформе, при условии, что на платформе установлен MATLAB или MATLAB Runtime.

Однако, если ваш скомпилированный код MATLAB содержит файлы MEX, которые зависят от платформы, выполните следующее:

  1. Скомпилируйте свой файл MEX один раз на каждой платформе, где вы хотите запустить приложение.

    Например, если вы работаете в Windows® machine, и вы хотите также запустить на Linux® 64-разрядная платформа, компиляция my_mex.c дважды (один раз на ПК, чтобы получить my_mex.mexw64 и еще раз на 64-разрядной машине Linux, чтобы получить my_mex.mexa64).

  2. Скомпилируйте пакет на одной платформе, используя mcc команда, использование -a флаг для включения Файлов MEX, скомпилированных на других платформах. В приведенном выше примере выполните mcc в Windows и включить -a флаг для включения my_mex.mexa64. В этом примере mcc команда будет:

    mcc -W 'java:mycomp,myclass' my_matlab_file.m -a my_mex.mexa64 

    Примечание

    В этом примере нет необходимости явно включать my_mex.mexw64 (при условии, что вы работаете в Windows). Этот пример принимает, что my_mex.mexw64 и my_mex.mexa64 находится в той же папке.

Например, если вы работаете на компьютере с Windows и хотите обеспечить переносимость сгенерированного пакета, который вызывает yprimes.c файл (из matlabroot\ extern\примеры\mex) на 64-разрядной платформе Linux выполните следующие mcc команда:

mcc -W 'java:mycomp,myclass' callyprime.m -a yprime.mexa64 
где callyprime.m может быть простой функцией MATLAB следующим образом:
function callyprime 
disp(yprime(1,1:4)); 
Убедитесь, что yprime.mexa64 файл находится в той же папке, что и файл MEX Windows.

Совет

Если вы не уверены, содержит ли ваш файл JAR файлы MEX, выполните следующие действия:

  1. Управляемый mcc с -v опция для перечисления имен файлов MEX.

  2. Получите соответствующие версии этих файлов из версии MATLAB, установленной на вашей целевой операционной системе.

  3. Включите эти версии в архив при запуске mcc с -a опция.

Внимание

Функциональность тулбокса, которая работает без проблем на платформах при выполнении из среды рабочего стола MATLAB, при развертывании будет продолжать работать без проблем на платформах. Однако, если определенная функциональность тулбокса предназначена для работы на определенной платформе, то эта функциональность будет запускаться только на этой конкретной платформе при развертывании. Для примера функциональность от Data Acquisition Toolbox™ работает только в Windows.

JAR- файлов, произведенные MATLAB Compiler SDK™, протестированы и квалифицированы для запуска на платформах, поддерживаемых MATLAB. Для получения дополнительной информации см. маршрутную карту платформы для MATLAB.