MCC

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

Синтаксис

mcc options mfilename1 mfilename2...mfilenameN
mcc -m options mfilename
mcc -e options mfilename
mcc -W 'excel:addin_name,className,version' -T link:lib options mfilename1 mfilename2...mfilenameN
mcc -H -W hadoop:archiveName,CONFIG:configFile

Описание

mcc options mfilename1 mfilename2...mfilenameN компилирует функции, как задано опциями.

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

  • C/C++ совместно использовал библиотеки, блоки.NET, пакеты Java®, или пакеты Python® видят mcc для MATLAB® Compiler SDK™

  • MATLAB Production Server™ развертываемые архивы или дополнения Excel® для MATLAB Production Server видит mcc для MATLAB Compiler SDK

пример

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

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

пример

mcc -e options mfilename компилирует функцию в автономное приложение, которое не открывает командное окно MS-DOS®.

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

пример

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

  • addin_name — Задает имя дополнения и его пространства имен, которое является разделенным от периода списком, таким как companyname.groupname.component.

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

  • версия Задает версию дополнения, заданного как major.minor.

    • major — Задает номер основной версии. Если вы не задаете номер версии, mcc использует последнюю версию.

    • minor — Задает номер вспомогательной версии. Если вы не задаете номер версии, mcc использует последнюю версию.

    Примечание

    Дополнения Excel могут быть созданы только в MATLAB, работающем на Windows®.

    Примечание

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

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

Совет

Можно дать команду mcc или в подсказке команды MATLAB или в командной строке UNIX® или DOS.

Примеры

Скомпилируйте автономное приложение

mcc -m magic.m

Скомпилируйте автономное Приложение Windows

Скомпилируйте автономное приложение, которое не открывает командную строку на Windows.

mcc -e magic.m

Скомпилируйте дополнение Excel

mcc -W 'excel:myAddin,myClass,1.0' -T link:lib magic.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, чтобы определить, запускается ли приложение в развернутом режиме, и настройте путь соответственно. Опция -a также создает файл .auth в целях авторизации.

    Внимание

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

    Примечание

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

  • -b

    Сгенерируйте Визуальный файл 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

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

    Примечание

    Флаг -C проигнорирован для библиотек Java.

  • -d

    Место выводится в заданной папке. Использование

    -d outFolder
    

    направить сгенерированные файлы к outFolder.

  • -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 используется.

  • -n

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

  • -N

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

    • matlabroot\toolbox\matlab

    • matlabroot\toolbox\local

    • matlabroot\toolbox\compiler

    • matlabroot\toolbox\shared\bigdata

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

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

  • -o

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

    -o outputfile
    

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

  • -p

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

    -N -p directory
    

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

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

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

  • -R

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

    -R option

    Опция

    Описание

    Цель

    -logfile,filename

    Задайте имя файла журнала.

    MATLAB Compiler

    -nodisplay

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

    MATLAB Compiler

    -nojvm

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

    MATLAB Compiler

    -startmsg

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

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

    -completemsg

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

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

    Внимание

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

    Примечание

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

  • -S

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

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

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

    Цель, поддержанная Singleton MATLAB RuntimeСоздайте Singleton MATLAB Runtime....
    Дополнение ExcelПоведение по умолчанию для цели является одиночным элементом MATLAB Runtime. Вы не должны выполнять другие шаги.
    Блок.NETПоведение по умолчанию для цели является одиночным элементом MATLAB Runtime. Вы не должны выполнять другие шаги.
    COM-компонент
    • Используя приложение Library Compiler, click 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

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

  • -w

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

    -w option [:<msg>]

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

    Синтаксис

    Описание

    -w list

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

    -w enable

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

    -w disable[:<string>]

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

    -w enable[:<string>]

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

    -w error[:<string>]

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

    -w off[:<string>] [<filename>]

    Выключите предупреждения для определенных сообщений об ошибке, заданных <string>. Можно также сузить осциллограф путем определения предупреждений быть выключенными, когда сгенерировано определенным <filename> s.

    -w on[:<string>] [<filename>]

    Включите предупреждения для определенных сообщений об ошибке, заданных <string>. Можно также сузить осциллограф путем определения предупреждений быть включенными, когда сгенерировано определенным <filename> s.

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

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

    if isdeployed
        warning off
    end
    

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

    if isdeployed
        warning on
    end
    
  • -W

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

    -W type 

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

  • Использование -Y

     -Y license.lic

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

    Примечание

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

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

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