exponenta event banner

compiler.build.standaloneApplication

Создание автономного приложения для развертывания вне MATLAB

Описание

пример

compiler.build.standaloneApplication(AppFile) создает развертываемое автономное приложение с использованием функции, класса или приложения MATLAB ®, указанного вAppFile. Тип исполняемого файла определяется операционной системой. Созданный исполняемый файл не включает среду выполнения MATLAB или программу установки.

пример

compiler.build.standaloneApplication(AppFile,Name,Value) создает автономное приложение с дополнительными параметрами, заданными с помощью одного или нескольких аргументов «имя-значение». Параметры включают имя исполняемого файла, текст справки и изображение значка.

пример

compiler.build.standaloneApplication(opts) создает автономное приложение с дополнительными параметрами, заданными с помощью compiler.build.StandaloneApplicationOptions объект opts. Другие параметры нельзя задать с помощью аргументов «имя-значение».

пример

results = compiler.build.standaloneApplication(___) возвращает информацию о построении в виде compiler.build.Results с использованием любой из комбинаций аргументов в предыдущих синтаксисах. Сведения о построении состоят из типа построения, путей к скомпилированным файлам и параметров построения.

Примеры

свернуть все

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

В MATLAB найдите код MATLAB, который необходимо развернуть как автономное приложение. Для этого примера выполните компиляцию с помощью файла magicsquare.m расположен в matlabroot\extern\examples\compiler.

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');

Создание автономного приложения с помощью compiler.build.standaloneApplication команда.

compiler.build.standaloneApplication(appFile);

Этот синтаксис создает следующие файлы в папке с именем magicsquarestandaloneApplication в текущей рабочей папке:

  • magicsquare.exe или magicsquare - Исполняемый файл, имеющий .exe при компиляции в системе Windows ® или без компиляции в системах Linux ® или macOS.

  • run_magicsquare.sh - файл сценария оболочки, задающий путь к библиотеке и выполняющий приложение. Этот файл создается только в системах Linux и macOS.

  • mccExcludedFiles.log - файл журнала, содержащий список всех функций панели инструментов, которые не были включены в приложение. Сведения о неподдерживаемых функциях см. в разделе Ограничения компилятора MATLAB.

  • readme.txt - текстовый файл, содержащий сведения о предпосылках развертывания и список файлов для пакета для развертывания.

  • requiredMCRProducts.txt - текстовый файл, содержащий идентификаторы продуктов, необходимых для выполнения приложения в среде выполнения MATLAB.

  • unresolvedSymbols.txt - текстовый файл, содержащий информацию о неразрешенных символах.

Бежать magicsquare из MATLAB с входным аргументом 4, перейдите к magicsquarestandaloneApplication и выполните одну из следующих команд на основе операционной системы:

Операционная системаПроверка в окне команд MATLAB
Windows!magicsquare 4
macOSsystem(['./run_magicsquare.sh ',matlabroot,' 4']);
Linux!./magicsquare 4

Бежать magicsquare из MATLAB с входным аргументом 4, перейдите к magicsquarestandaloneApplication и выполните одну из следующих команд на основе операционной системы:

Операционная системаПроверка в окне команд MATLAB
Windows!magicsquare 4
macOSsystem(['./run_magicsquare.sh ',matlabroot,' 4']);
Linux!./magicsquare 4

Приложение выводит 4около-4 магический квадрат.

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

Чтобы запустить автономное приложение вне MATLAB, см. раздел Запуск автономного приложения.

Создайте автономное приложение и настройте его с помощью аргументов «имя-значение».

Запишите функцию MATLAB, использующую подфункцию для вычисления диагональных компонентов магического квадрата. Сохранение функций в файлы с именами mymagicdiag.m и mydiag.m.

function out = mymagicdiag(in)
X = magic(in);
out = mydiag(X);
function out = mydiag(in)
out = [diag(in)]';

Создание автономного приложения с помощью mymagicdiag.m. Используйте аргументы пары имя-значение, чтобы указать имя исполняемого файла, добавьте mydiag.m и интерпретировать входные данные командной строки как двойные числовые значения.

compiler.build.standaloneApplication('mymagicdiag.m',...
    'ExecutableName','MagicDiagApp',...
    'AdditionalFiles','mydiag.m',...
    'TreatInputsAsNumeric','On')

Функция создает следующие файлы в папке с именем MagicDiagAppstandaloneApplication в текущей рабочей папке:

  • MagicDiagApp.exe или MagicDiagApp

  • run_MagicDiagApp.sh (только в системах Linux и macOS)

  • mccExcludedFiles.log

  • readme.txt

  • requiredMCRProducts.txt

Бежать MagicDiagApp из MATLAB с входным аргументом 4, перейдите к MagicDiagAppstandaloneApplication и выполните одну из следующих команд на основе операционной системы:

Операционная системаПроверка в окне команд MATLAB
Windows!MagicDiagApp 4
macOSsystem(['./run_MagicDiagApp.sh ',matlabroot,' 4']);
Linux!./MagicDiagApp 4

Приложение выводит диагональные записи 4около-4 магический квадрат.

    16     11     6    1

Создание нескольких автономных приложений в системе Windows с помощью compiler.build.StandaloneApplicationOptions объект.

Для этого примера используйте файл magicsquare.m расположен в matlabroot\extern\examples\compiler.

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');

Создать StandaloneApplicationOptions объект с использованием appFile. Используйте аргументы «имя-значение», чтобы указать общий выходной каталог, интерпретировать входные данные командной строки как числовые двойники и отображать информацию о ходе процесса построения.

opts = compiler.build.StandaloneApplicationOptions(appFile,...
    'OutputDir','D:\Documents\MATLAB\work\MagicBatch',...
    'TreatInputsAsNumeric','On',...
    'Verbose','On')
opts =

  StandaloneApplicationOptions with properties:

            CustomHelpTextFile: ''
              EmbedArchive: on
            ExecutableIcon: 'C:\Program Files\MATLAB\R2021a\toolbox\compiler\resources\default_icon_48.png'
            ExecutableName: 'magicsquare'
    ExecutableSplashScreen: 'C:\Program Files\MATLAB\R2021a\toolbox\compiler\resources\default_splash.png'
         ExecutableVersion: '1.0.0.0'
                   AppFile: 'C:\Program Files\MATLAB\R2021a\extern\examples\compiler\magicsquare.m'
      TreatInputsAsNumeric: on
           AdditionalFiles: {}
       AutoDetectDataFiles: on
                   Verbose: on
                 OutputDir: 'D:\Documents\MATLAB\work\MagicBatch'

Создайте автономное приложение, передав StandaloneApplicationOptions в качестве входных данных для функции построения.

compiler.build.standaloneApplication(opts);

Создание нового автономного приложения с помощью файла функции example2.m с теми же опциями, используйте точечную нотацию для изменения AppFile существующих StandaloneApplicationOptions перед повторным запуском функции построения.

opts.AppFile = 'example2.m';
compiler.build.standaloneApplication(opts);

Путем изменения AppFile argument и recompiling, можно создать несколько приложений, используя один и тот же объект options.

Создание автономного приложения и сохранение информации о типе сборки, созданных файлах и параметрах сборки в compiler.build.Results объект.

Компиляция с помощью файла magicsquare.m расположен в matlabroot\extern\examples\compiler.

results = compiler.build.standaloneApplication('magicsquare.m')
results = 

  Results with properties:

            BuildType: 'standaloneApplication'
                Files: {2×1 cell}
              Options: [1×1 compiler.build.StandaloneApplicationOptions]

Files содержит пути к magicsquare автономный исполняемый файл и readme.txt файлы.

Входные аргументы

свернуть все

Путь к основному файлу, используемому для построения приложения, определяемый как вектор символа строки или скаляр строки. Файл должен быть функцией, классом или приложением MATLAB одного из следующих типов: .m, .p, .mlx, .mlappили допустимый файл MEX.

Пример: 'mymagic.m'

Типы данных: char | string

Параметры построения автономного приложения, указанные как compiler.build.StandaloneApplicationOptions объект.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'EmbedArchive','on'

Дополнительные файлы для включения в автономное приложение, указанные как вектор символов, скаляр строк, массив строк или массив ячеек векторов символов. Пути к файлам могут быть относительно текущей рабочей папки или абсолютными.

Пример: 'AdditionalFiles',["myvars.mat","myfunc.m"]

Типы данных: char | string | cell

Флажок для автоматического включения файлов данных, указанный как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

  • Если для этого свойства задано значение 'on', то файлы данных, которые вы предоставляете в качестве входных данных для определенных функций (таких как load и fopen) автоматически включаются в автономное приложение.

  • Если для этого свойства задано значение 'off', то необходимо добавить файлы данных в приложение с помощью AdditionalFiles собственность.

Пример: 'AutoDetectDataFiles','Off'

Типы данных: logical

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

Пример: 'CustomHelpTextFile','D:\Documents\MATLAB\work\help.txt'

Типы данных: char | string

Флаг для встраивания автономного архива, указанный как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

  • Если для этого свойства задано значение 'on', затем функция встраивает архив в автономный исполняемый файл.

  • Если для этого свойства задано значение 'off', то функция генерирует автономный архив как отдельный файл.

Пример: 'EmbedArchive','Off'

Типы данных: logical

Путь к изображению значка, определяемый как вектор символа или скаляр строки. Изображение используется в качестве значка для автономного исполняемого файла. Путь может быть относительно текущего рабочего каталога или абсолютным. Принятые типы изображений: .ico, .jpg, .jpeg, .png, .bmp, и .gif.

Путь по умолчанию:

'matlabroot\toolbox\compiler\resources\default_icon_48.png'

Пример: 'ExecutableIcon','D:\Documents\MATLAB\work\images\myIcon.png'

Типы данных: char | string

Имя созданного приложения, указанное как символьный вектор или строковый скаляр. Значением по умолчанию является имя файла AppFile. Конечные выходные имена должны начинаться с буквы или символа подчеркивания и содержать только буквенно-цифровые символы или знаки подчеркивания.

Пример: 'ExecutableName','MagicSquare'

Типы данных: char | string

Путь к изображению заставки, указанному как вектор символа или скаляр строки. Путь может быть относительно текущего рабочего каталога или абсолютным. Принятые типы изображений: .jpg, .jpeg, .png, .bmp, и .gif. Размер изображения изменяется до 400 пикселей на 400 пикселей.

Путь по умолчанию:

'matlabroot\toolbox\toolbox\compiler\resources\default_splash.png'

Примечание

Используется только в приложениях Windows, построенных с помощью compiler.build.standaloneWindowsApplication.

Пример: 'ExecutableSplashScreen','D:\Documents\MATLAB\work\images\mySplash.png'

Типы данных: char | string

Исполняемая версия, заданная как вектор символов или скаляр строки.

Примечание

Используется только в операционных системах Windows.

Пример: 'ExecutableVersion','4.0'

Типы данных: char | string

Путь к выходному каталогу, в котором сохраняются файлы построения, определяемый как вектор символов или строковый скаляр. Путь может быть относительно текущего рабочего каталога или абсолютным.

Именем по умолчанию папки построения является имя исполняемого файла, добавляемое с standaloneApplication.

Пример: 'OutputDir','D:\Documents\MATLAB\work\MagicSquarestandaloneApplication'

Типы данных: char | string

Флаг для интерпретации входных данных командной строки как числовых значений, указанных как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

  • Если для этого свойства задано значение 'on', то входные данные командной строки обрабатываются как двойные числовые значения MATLAB.

  • Если для этого свойства задано значение 'off', то входные данные командной строки обрабатываются как векторы символов MATLAB.

Пример: 'TreatInputsAsNumeric','On'

Типы данных: logical

Флаг для управления подробностью построения, указанный как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.

  • Если для этого свойства задано значение 'on'затем в окне команд MATLAB отображается информация о ходе выполнения, указывающая на вывод компилятора в процессе построения.

  • Если для этого свойства задано значение 'off', то командное окно не отображает информацию о ходе выполнения.

Пример: 'Verbose','On'

Типы данных: logical

Выходные аргументы

свернуть все

Результаты построения, возвращенные как compiler.build.Results объект. Results объект содержит:

  • Тип построения, который является 'standaloneApplication'

  • Пути к скомпилированным файлам

  • Параметры построения, указанные как StandaloneApplicationOptions объект

Совет

  • Чтобы создать автономное приложение из командной строки системы с помощью этой функции, используйте команду matlab функции с помощью -batch вариант. Например:

    matlab -batch compiler.build.standaloneApplication('mymagic.m')

Представлен в R2020b