mcc

Скомпилируйте функции MATLAB для развертывания

Описание

Общее использование

mcc options mfilename1 mfilename2...mfilenameN компилирует функции в соответствии с опциями. Используемые опции зависят от предполагаемых результатов компиляции.

Для получения информации о компиляции:

  • Общие библиотеки C/C + +, сборки .NET, Java® пакеты, или Python® пакеты, см. mcc (MATLAB Compiler SDK) для MATLAB® Compiler SDK™

  • MATLAB Production Server™ развертываемые архивы или Excel® надстройки для MATLAB Production Server, см. mcc (MATLAB Production Server) для MATLAB Compiler SDK

Автономное приложение

пример

mcc -m options mfilename компилирует функцию в автономное приложение.

Это эквивалентно mcc -W main -T link:exe.

пример

mcc -e options mfilename компилирует функцию в автономное приложение, которое не открывает Windows® командная строка при выполнении. The -e опция работает только в операционных системах Windows.

Этот синтаксис эквивалентен -W WinMain -T link:exe.

Надстройка Excel

пример

mcc -W 'excel:addin_name,className,version=version_number' -T link:lib options mfilename1 mfilename2...mfilenameN создает Microsoft® Надстройка Excel из указанных файлов.

  • addin_name - Задает имя надстройки.

  • className - Задает имя создаваемого класса. Если вы не задаете имя класса, mcc использует addin_name как значение по умолчанию. Если задано, className должен отличаться от mfilename.

  • version_number - Номер версии файла надстройки задается следующим major.minor.bug.build в файл системе. Указание номера версии не требуется. Если номер версии не задан, mcc устанавливает номер версии равным 1.0.0.0 по умолчанию.

    • major - номер основной версии. Если вы не задаете число, mcc устанавливает major на 0.

    • minor - Указывает номер вспомогательной версии. Если вы не задаете число, mcc устанавливает minor на 0.

    • bug- Указывает номер версии обслуживания исправления ошибок. Если вы не задаете число, mcc устанавливает bug на 0.

    • build- Определяет номер сборки. Если вы не задаете число, mcc устанавливает build на 0.

    Примечание

    Надстройки Excel могут создаваться только в MATLAB, работающем в Windows.

    Примечание

    Удалите одинарные кавычки вокруг 'excel:addin_name,className,version' при выполнении mcc команда из приглашения DOS.

Приложения MapReduce на Hadoop

mcc -H -W hadoop:archiveName,CONFIG:configFile mfilename генерирует развертываемый архив из mfilename который может быть запущен в качестве задания Hadoop®.

Совет

Вы можете выдать mcc команда либо в командной строке MATLAB, либо в Windows или Linux® системная командная строка.

Симуляции Simulink (Требует Simulink Compiler)

пример

mcc -m options mfilename скомпилирует приложение MATLAB, содержащее Simulink® симуляция в автономное приложение. Для получения дополнительной информации смотрите Создать и Развернуть скрипт с Simulink Compiler (Simulink Compiler).

Примеры

Создайте автономное приложение

mcc -m magic.m

Создайте автономное приложение, которое не открывает Команда интерпретатора (только Windows)

mcc -e magic.m

Создайте автономное приложение с номером версии файла уровня системы (только для Windows)

Создайте автономное приложение в Windows с номером версии 3.4.1.5.

mcc -W 'main:mymagic,version=3.4.1.5' -T link:exe mymagic.m

Создайте надстройку Excel

mcc -W 'excel:myAddin,myClass,1.0' -T link:lib magic.m

Создайте надстройку Excel с номером версии файла уровня системы (только для Windows)

Создайте надстройку Excel в Windows с номером версии 5.2.1.7.

mcc -W 'excel:myAddin,myClass,version=5.2.1.7' -T link:lib -b mymagic.m

Создайте надстройку Excel для MATLAB Production Server

mcc -W 'mpsxl:myDeployableArchvie,myExcelClass,version=1.0' -T link:lib mymagic.m

Создайте автономное приложение для симуляции Simulink (требует Simulink Compiler)

Чтобы создать автономное приложение для симуляции Simulink:

Создайте модель Simulink с помощью Simulink. Этот пример использует модель sldemo_suspn_3dof который поставляется с Simulink.

Создайте приложение MATLAB, которое использует API из Simulink Compiler™ для симуляции модели. Для получения дополнительной информации смотрите Развертывание симуляций с настраиваемыми параметрами (Simulink Compiler).

function deployParameterTuning(outputFile, mbVariable)
 
    if ischar(mbVariable) || isstring(mbVariable)
        mbVariable = str2double(mbVariable);
    end
     
    if isnan(mbVariable) || ~isa(mbVariable, 'double') || ~isscalar(mbVariable)
        disp('mb must be a double scalar or a string or char that can be converted to a double scalar');
    end
     
    in = Simulink.SimulationInput('sldemo_suspn_3dof');   
    in = in.setVariable('Mb', mbVariable);
    in = simulink.compiler.configureForDeployment(in);
    out = sim(in);
     
    save(outputFile, 'out');
  
end

Использовать mcc для создания автономного приложения из приложения MATLAB.

mcc -m deployParameterTuning.m

Входные параметры

свернуть все

Компилируемый файл, заданный как вектор символов или строковый скаляр.

Один или несколько файлов, подлежащих компиляции, заданные как разделенный пробелом список имен файлов.

Опции для настройки выхода, заданные как список векторов символов или строковых скаляров.

  • -a

    Добавьте файлы в развертываемый архив с помощью -a path чтобы указать файлы, которые будут добавлены. Несколько -a опции разрешены.

    Если имя файла задано как -aкомпилятор ищет эти файлы по пути MATLAB, поэтому указание полного имени пути опционально. Эти файлы не передаются в mbuild, поэтому можно включать такие файлы, как файлы данных.

    Если имя папки задано как -a Опция все содержимое этой папки рекурсивно добавляется в развертываемый архив. Для примера,

    mcc -m hello.m -a ./testdir 

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

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

    mcc -m hello.m -a ./testdir/*

    задает, что все файлы в ./testdir добавляются в развертываемый архив и подпапки в ./testdir не обрабатываются рекурсивно.

    mcc -m hello.m -a ./testdir/*.m

    указывает, что все файлы с расширением .m под ./testdir добавляются в развертываемый архив и подпапки ./testdir не обрабатываются рекурсивно.

    Примечание

    * является единственным поддерживаемым подстановочным знаком.

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

    Когда вы используете -a опция, чтобы задать полный путь к ресурсу, основной путь сохраняется, с некоторыми изменениями, но относительно подкаталога директории кэша во время выполнения, а не локальной папки пользователя. Директория кэша создаётся из развертываемого архива при первом выполнении приложения. Вы можете использовать isdeployed функция для определения, выполняется ли приложение в развернутом режиме, и соответствующей настройки пути. The -a опция также создает .auth файл в целях авторизации.

    Внимание

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

    Примечание

    Если вы используете -a флаг для включения пользовательских классов Java, автономные приложения работают без необходимости менять classpath если класс Java не является представителем пакета. То же самое относится и к файлам JAR. Однако, если добавляемый класс является представителем пакета, код MATLAB должен выполнить соответствующий вызов javaaddpath для обновления classpath с родительской папкой пакета.

  • -b

    Сгенерируйте Visual Basic® файл (.bas), содержащий интерфейс Microsoft Excel Formula Function к COM-объекту, сгенерированному MATLAB Compiler. При импорте в код Visual Basic книги этот код позволяет рассматривать функцию MATLAB как функцию формулы камеры.

  • -B

    Замените файл на mcc командная строка с содержимым указанного файла. Использовать

    -B filename[:<a1>,<a2>,...,<an>]
    

    Комплект filename должны содержать только mcc опции командной строки и соответствующие аргументы и/или другие имена файлов. Файл может содержать другие -B опции. Пакет может включать параметры замены для опций компилятора, которые принимают имена и номера версий. Смотрите Использование пакетов для создания кода MATLAB (MATLAB Compiler SDK).

  • -c

    При использовании в сочетании с -l опция подавляет компиляцию и связывание сгенерированного кода C-оболочки. The -c опция не может использоваться независимо от -l опция.

  • -C

    Не встраивайте развертываемый архив в двоичные файлы.

    Примечание

    The -C флаг игнорируется для библиотек Java.

  • -d

    Поместите вывод в указанную папку. Использовать

    -d outFolder
    

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

  • -e

    Использование -e вместо -m Опция, чтобы сгенерировать автономное приложение Windows, которое не открывает командную строку Windows при выполнении. -e эквивалентно -W WinMain -T link:exe.

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

  • -f

    Переопределите файл опций по умолчанию указанным файлом опций. Он конкретно применяется к общим библиотекам C/C + +, COM и целевым устройствам Excel. Использовать

    -f filename
    

    для задания filename как файл опций при вызове mbuild. Эта опция позволяет использовать различные компиляторы ANSI для различных вызовов компилятора. Эта опция является прямым проходом к mbuild.

  • -g, -G

    Включите информацию о символе отладки для кода C/C + +, сгенерированного MATLAB Compiler SDK. Это также вызывает mbuild передавать соответствующие флаги отладки в системный компилятор C/C + +. Отладка опции позволяет выполнить обратную трассировку до точки, в которой можно определить, произошёл ли отказ в инициализации MATLAB Runtime, вызове функции или стандартной программы завершения. Эта опция не позволяет вам отлаживать файлы MATLAB с помощью отладчика C/C + +.

  • -I

    Добавьте новый путь к папке в список включенных папок. Каждый -I опция добавляет папку в конец списка путей для поиска. Для примера,

    -I <directory1> -I <directory2>
    

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

    Если используется в сочетании с -N опция, -I опция добавляет папку в путь компиляции в том же положении, в котором она появилась в пути MATLAB, а не в начале пути.

  • -K

    Прямое mcc не удалять выходные файлы, если компиляция заканчивается преждевременно из-за ошибки.

    Поведение по умолчанию mcc удаление любого частичного выхода, если команда не выполняется успешно.

  • -m

    Прямое mcc чтобы сгенерировать автономное приложение.

  • -M

    Задайте опции времени компиляции. Использовать

    -M string
    

    для прохождения string непосредственно к mbuild. Эта опция предоставляет полезный механизм для определения опций времени компиляции, например -M "-Dmacro=value".

    Примечание

    Несколько -M опции не накапливаются; только самый правый -M используется опция.

    Для прохождения таких опций, как /bigobj, разметка строки в соответствии с вашей платформой.

    ПлатформаСинтаксис

    MATLAB

    -M 'COMPFLAGS=$COMPFLAGS /bigobj'
    Командная строка Windows
    -M COMPFLAGS="$COMPFLAGS /bigobj"
    

    Командная строка Linux и macOS

    -M CFLAGS='$CFLAGS /bigobj'
  • -n

    The -n опция автоматически определяет числовые входные параметры командной строки и обрабатывает их как MATLAB удваивается.

  • -N

    Передача -N очищает путь ко всем папкам, кроме следующих основных (этот список может изменяться с течением времени):

    • matlabroot\toolbox\matlab

    • matlabroot\ toolbox\локальный

    • matlabroot\ toolbox\компилятор

    • matlabroot\ toolbox\shared\bigdata

    Передача -N также сохраняет все подпапки в этом списке, которые отображаются в пути MATLAB во время компиляции. Включая -N в командной строке позволяет заменять папки из исходного пути, сохраняя относительное упорядоченное расположение включенных папок. Также включены все подпапки включенных папок, которые находятся в исходном пути. В сложение, -N опция сохраняет все папки, включенные в путь, не находящийся в matlabrootИнструменты.

    При использовании –N опция, используйте –I опция принудительного включения папки, расположенной в верхней части пути компиляции. Используйте –p опция условно включать папки и их подпапки; если они присутствуют в пути MATLAB, они появляются в пути компиляции в том же порядке.

  • -o

    Укажите имя последнего исполняемого файла (только автономные приложения). Использовать

    -o outputfile
    

    для присвоения имени окончательному исполняемому файлу MATLAB Compiler. К указанному имени добавляется подходящее зависящее от платформы расширение (для примера, .exe для автономных приложений Windows).

  • -p

    Используйте в сочетании с опцией -N для добавления определенных папок и подпапок в matlabrootИнструменты в путь MATLAB компиляции. Файлы добавляются в том же порядке, в котором они появляются в пути MATLAB. Используйте синтаксис

    -N -p directory
    

    где directory - папка, которая будет включена. Если directory не является абсолютным путем, оно принято в текущей рабочей папке.

    • Если папка включена в -p то есть в исходном пути MATLAB, папка и все ее подпапки, которые появляются в исходном пути, добавляются к пути компиляции в том же порядке.

    • Если папка включена в -p это не в исходном пути MATLAB, эта папка игнорируется. (Можно использовать -I заставить его включить.)

  • -r

    Встройте значок ресурса в двоичном формате. Синтаксис следующий:

    -r 'path/to/my_icon.ico'

  • -R

    Укажите опции MATLAB Runtime.

    Примечание

    Эта опция применяется только при создании автономных приложений с помощью MATLAB Compiler.

    Синтаксис следующий:

    -R option

    Опция

    Описание

    Цель

    '-logfile <reservedrangesplaceholder0>'

    Укажите имя файла журнала. Опция должна быть в одинарных кавычках.

    MATLAB Compiler

    -nodisplay

    Подавление nodisplay MATLAB предупреждение во время выполнения.

    MATLAB Compiler

    -nojvm

    Не используйте виртуальную машину Java (JVM).

    MATLAB Compiler

    -startmsg

    Настраиваемое пользовательское сообщение отображается во время инициализации.

    Автономные приложения MATLAB Compiler

    -completemsg

    Настраиваемое пользовательское сообщение отображается при завершении инициализации.

    Автономные приложения MATLAB Compiler

    -singleCompThread

    Ограничьте MATLAB одним вычислительным потоком.

    MATLAB Compiler

    Внимание

    При запуске на macOS, если вы используете -nodisplay как один из опций, включенных в mclInitializeApplication, затем вызов на mclInitializeApplication должно произойти перед вызовом mclRunMain.

    Примечание

    Если вы задаете -R опция для библиотек, созданных из MATLAB Compiler SDK, mcc все еще компилируется без ошибок и генерирует результаты. Но -R опция не применяется к этим библиотекам и ничего не делает.

  • -S

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

    В singleton MATLAB Runtime все образцы класса совместно используют контекст. Если создано несколько образцов класса, они используют контекст, созданный первым образцом, который экономит время запуска и некоторые ресурсы. Однако любые изменения, внесенные в глобальную рабочую область или базовое рабочее пространство одним образцом, влияют на все образцы классов. Для примера, если instance1 создает глобальную переменную A в singleton MATLAB Runtime, затем instance2 может использовать переменную A.

    Singleton MATLAB Runtime поддерживается только следующими продуктами для этих конкретных целей:

    Цель, поддерживаемая Singleton MATLAB RuntimeСоздайте Singleton MATLAB Runtime by....
    Надстройка ExcelПоведение по умолчанию для целевого объекта является singleton MATLAB Runtime. Вам не нужно выполнять другие шаги.
    Сборка .NETПоведение по умолчанию для целевого объекта является singleton MATLAB Runtime. Вам не нужно выполнять другие шаги.
    Компонент
    • Используя приложение Library Compiler, нажмите Settings и добавить -S в поле Additional parameters passed to MCC.

    • Использование mcc, передайте -S флаг.

    Пакет Java
  • -T

    Задайте выход целевую фазу и тип.

    Используйте синтаксис -T target для определения типа выхода.

    ЦельОписание
    compile:exeСгенерируйте файл обертки C/C + + и скомпилируйте файлы C/C + + в объектную форму, подходящую для связывания в автономное приложение.
    compile:libСгенерируйте файл обертки C/C + + и скомпилируйте файлы C/C + + в форму объекта, подходящую для связывания в общую библиотеку или DLL.
    link:exeТо же, что и compile:exe а также связать файлы объектов в автономное приложение.
    link:libТо же, что и compile:lib а также связать файлы объектов в общую библиотеку или DLL.

  • -u

    Зарегистрируйте COM- компонента только для текущего пользователя на машине разработки. Аргумент применяется только к типовым COM- компонента и конечным объектам надстроек Microsoft Excel.

  • -U

    Создайте развертываемый архив (.ctf файл) для MATLAB Production Server.

  • -v

    Отобразите шаги компиляции, включая:

    • Номер версии MATLAB Compiler

    • Имена исходных файлов по мере их обработки

    • Имена сгенерированных выходных файлов по мере их создания

    • Вызов mbuild

    The -v опция проходит -v опция для mbuild и отображает информацию о mbuild.

  • -w

    Отображение предупреждающих сообщений. Используйте синтаксис

    -w option [:<msg>]

    для управления отображением предупреждений.

    Синтаксис

    Описание

    -w list

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

    -w enable

    Включите все предупреждения во время компиляции.

    -w disable [: <string>]

    Отключите определенные предупреждения во время компиляции, связанные с <string>. Опустошите дополнительный <string> для применения disable действие для всех предупреждений во время компиляции.

    -w включить [: <string>]

    Включите определенные предупреждения во время компиляции, связанные с <string>. Опустошите дополнительный <string> для применения enable действие для всех предупреждений во время компиляции.

    -w ошибка [: <string>]

    Обработайте определенные предупреждения во время компиляции и во время выполнения, связанные с <string> как ошибка. Опустошите дополнительный <string> для применения error действие для всех предупреждений во время компиляции и во время выполнения.

    -w off [: <string>]

    Отключите предупреждения для определенных сообщений об ошибке, определяемых <string>. Опустошите дополнительный <string> для применения off действие для всех предупреждений во время выполнения.

    -w on [: <string>]

    Включите предупреждения во время выполнения, связанные с <string>. Опустошите дополнительный <string> для применения on действие для всех предупреждений во время выполнения. Эта опция включена по умолчанию.

    Можно также включить или выключить предупреждения в коде MATLAB.

    Например, чтобы выключить предупреждения для развернутых приложений (задано использование isdeployed) в startup.m, вы пишете:

    if isdeployed
        warning off
    end
    

    Чтобы включить предупреждения для развернутых приложений, вы пишете:

    if isdeployed
        warning on
    end
    

    Можно также задать несколько -w опции.

    Для примера, если вы хотите отключить все предупреждения, кроме repeated_file, вы пишете:

    -w disable -w enable:repeated_file
    Когда вы задаете несколько -w опции, они обрабатываются слева направо.

  • -W

    Управляйте генерацией оберток функций. Используйте синтаксис

    -W type 

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

    ЦельСинтаксис
    Автономное приложение-W 'main: appName, версия = version'
    Автономное приложение (без консоли Windows)-W 'WinMain: appName, версия = version'
    Надстройка Excel-W 'excel: addinName, className, версия = version'
    Приложение Hadoop MapReduce-W 'hadoop: archiveName, CONFIG: configFile'
    Искровое приложение-W 'искра: appName, version'

    Примечание

    Замените одинарные кавычки на двойные при выполнении команды из командной строки Windows.

  • -X

    Использование -X игнорировать файлы данных, считанные общими функциями ввода-вывода файла MATLAB во время анализа зависимостей. Для получения дополнительной информации смотрите Анализ зависимостей с использованием MATLAB Compiler. Для примеров, как использовать -X опция, см. %#exclude.

  • -Y

    Использовать

     -Y license.lic

    для переопределения файла лицензии по умолчанию заданным аргументом.

    Примечание

    The -Y флаг работает только с режимом командной строки.

    >>!mcc -m foo.m -Y license.lic

Совет

  • В Windows можно сгенерировать номер версии файла уровня системы для целевого файла, добавив version=version_number к цели, генерирующей mcc синтаксис. Пример см. в разделе Создание автономного приложения с номером версии файла уровня системы (только для Windows).

    version_number - Задает версию целевого файла следующим major.minor.bug.build в файл системе. Указание номера версии не требуется. Если номер версии не задан, mcc устанавливает номер версии, по умолчанию, равным 1.0.0.0.

    • major - номер основной версии. Если номер версии не задан, mcc устанавливает major на 1.

    • minor - Указывает номер вспомогательной версии. Если номер версии не задан, mcc устанавливает minor на 0.

    • bug - Указывает номер релиза обслуживания исправления ошибок. Если номер версии не задан, mcc устанавливает bug на 0.

    • build - Задает номер сборки. Если номер версии не задан, mcc устанавливает build на 0.

    Эта функциональность поддерживается для автономных приложений и надстроек Excel в MATLAB Compiler. Для поддерживаемых целей в MATLAB Compiler SDK, смотрите раздел «Советы» в mcc (MATLAB Compiler SDK).

Представлено до R2006a