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

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

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

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

    Например, если вы работаете на машине Windows®, и вы хотите также работать на платформе Linux® 64-bit, скомпилировать my_mex.c дважды (однажды на PC, чтобы заставить my_mex.mexw64 и с другой стороны на Linux 64-битная машина получать 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\examples\mex) на Linux 64-битная платформа, выполните следующую команду mcc:

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

Совет

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

  1. Запустите mcc с опцией -v, чтобы перечислить имена файлов MEX.

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

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

Внимание

Некоторая функциональность тулбокса не будет развертываема, когда скомпилировано в пакет Java® и работать на платформе кроме той, скомпилированной на. Это вызвано тем, что некоторый код тулбокса включает данные, которые могут быть конкретной платформой. Если это верно, можно только развернуть приложение, чтобы любить платформы. Например, функция Image Processing Toolbox IMHIST перестанет работать, если развернуто кросс-платформенный с ошибкой undefined function.

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