Обеспечьте многоплатформенную мобильность для Java

Скомпилированный MATLAB® код, содержащий только файлы MATLAB, независим от платформы, как Java® .jar файлы. Можно использовать эти файлы на любой платформе, при условии, что платформа имеет или MATLAB или установленный MATLAB Runtime. Однако, если ваш скомпилированный код MATLAB содержит файлы MEX, которые являются зависимым платформы, сделайте следующее:

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

    Например, если вы запускаете приложение на Windows® машина, и вы хотите, чтобы он работал на Linux® 64-битная платформа, компиляция my_mexC дважды, однажды на PC, чтобы получить my_mex.mexw64 и с другой стороны на Linux 64-битная машина, чтобы получить my_mex.mexa64.

  2. Скомпилируйте пакет на одной платформе с помощью -a флаг mcc или AdditionalFiles опция в compiler.build функция, чтобы включать файл MEX, скомпилированный на другой платформе (платформах).

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

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

    Например, если вы запускаете mcc на машине 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 или включить Verbose опция в compiler.build функция.

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

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

Внимание

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

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