exponenta event banner

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

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

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

  1. Один раз скомпилируйте файл MEX на каждой платформе, на которой требуется запустить приложение.

    Например, если вы работаете на компьютере с ОС Windows ® и хотите также работать на 64-разрядной платформе Linux ®, компилируйте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\examples\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 находится в той же папке, что и файл Windows MEX.

Совет

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

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

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

  3. Включить эти версии в архив, запустив mcc с -a вариант.

Внимание

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

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