COM-компоненты пакета из командной строки

Можно группировать COM-компоненты в MATLAB® подсказка или ваше системное приглашение с помощью любой из этих команд.

  • deploytool вызывает приложение Application Compiler, чтобы осуществить сохраненный проект компилятора.

  • mcc вызывает MATLAB Compiler™, чтобы создать развертываемое приложение в командной строке.

Осуществите проекты компилятора с deploytool

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

  • - создайте project_name — Вызовите правильное приложение компилятора, чтобы разработать проект, но не сгенерировать инсталлятор.

  • - пакет project_name — Вызовите правильное приложение компилятора, чтобы разработать проект и сгенерировать инсталлятор.

Например, deploytool -package magicsquare генерирует двоичные файлы, заданные magicsquare проект и пакеты их в инсталлятор, который можно распределить другим.

Создайте COM-компонент с mcc

mcc команда вызывает MATLAB Compiler, чтобы создать COM-компонент в командной строке и обеспечивает прекрасный контроль уровня при упаковке компонента. Это не группирует результаты в инсталляторе.

Класс MATLAB не может быть непосредственно упакован в COM-объект. Можно, однако, использовать сгенерированный пользователями класс в файле MATLAB и создать COM-объект из того файла. Можно использовать интерфейс командной строки MATLAB вместо приложения Library Compiler, чтобы создать COM-объекты. Сделайте это путем издания mcc команда с опциями. Если вы используете mcc, вы не создаете проект.

Следующая таблица предоставляет обзор некоторых mcc опции связаны с компонентами, наряду с синтаксисом и примерами их использования.

Действие, чтобы выполнитьОписание
Создайте компонент, который имеет один класс.

mcc опция, чтобы использовать: -W com

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

Синтаксис

mcc -W 'com:<component_name>[,<class_name>[,<major>.<minor>]]'

Незаданный <class_name> значения по умолчанию к <component_name>, и незаданный номер версии принимает значение по умолчанию к созданной последней версии или 1.0, если нет никакой предыдущей версии.

Пример

mcc -W 'com:mycomponent,myclass,1.0' -T link:lib foo.m bar.m

Пример создает COM-компонент под названием mycomponent, который содержит один COM-класс под названием myclass с методами foo и bar, и версия 1,0.

Добавьте дополнительные классы в COM-компонент.

mcc опция, чтобы использовать: Не нужный

Отдельный COM под названием <class_name> создается для каждого аргумента класса, который передается.

После <class_name> параметр является списком, разделенным запятыми исходных файлов, которые инкапсулируются как методы для класса.

Синтаксис

class{<class_name>:[file, [file,...]]}

Пример

mcc -B 'com:mycomponent,myclass,1.0' foo.m bar.m class{myclass2:foo2.m, bar2.m}

Пример создает COM-компонент под названием mycomponent с двумя классами: myclass имеет методы foo и bar, и myclass2 имеет методы foo2 и bar2. Версия является версией 1.0.

Упростите вход командной строки для компонентов.

mcc опция, чтобы использовать: -B com:

Использует пакет.

Синтаксис

mcc -B '<bundle>'[:<a1>,<a2>,...,<an>]

Пример

mcc -B 'com:mycomponent,myclass,1.0' foo.m bar.m

Управляйте, как каждый COM-класс использует MATLAB Runtime.

mcc опция, чтобы использовать: -S

По умолчанию новый экземпляр MATLAB Runtime создается для каждого экземпляра каждого COM-класса в компоненте. Используйте -S изменить значение по умолчанию.

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

При использовании -S, обратите внимание, что все экземпляры класса совместно используют одно рабочее пространство MATLAB и совместно используют глобальные переменные в файлах MATLAB, используемых, чтобы создать компонент. Поэтому свойства COM-класса ведут себя как статические свойства вместо мудрых экземпляром свойств.

Примечание

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

Пример

mcc -S -B 'com:mycomponent,myclass,1.0' foo.m bar.m

Пример создает COM-компонент под названием mycomponent содержа один COM-класс под названием myclass с методами foo и bar, и версия 1,0.

Когда несколько экземпляров этого класса инстанцируют в приложении, только один MATLAB Runtime инициализируется, и это совместно используется каждым экземпляром.

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

mcc опция, чтобы использовать: -d

\src и \distrib подпапки используются к компонентам пакета.

Синтаксис

-d foldername

Различия между приложениями компилятора и командной строкой

Вы выполняете те же функции с помощью приложений компилятора, compiler.build функция или mcc интерфейс командной строки. Интерактивные меню и диалоговые окна, используемые в приложениях компилятора, создают mcc команды, которые настраиваются к вашей спецификации. По сути, ваш код MATLAB обрабатывается тот же путь, как будто вы группировали его использование mcc.

Если вы знаете команды для типа приложения, вы хотите развернуть и сделать не, требуют инсталлятора, это быстрее, чтобы выполнить любой compiler.build или mcc чем проходят рабочий процесс приложения компилятора.

Преимущества приложения компилятора включают:

  • Можно выполнить связанные задачи развертывания с одним интуитивным интерфейсом.

  • Можно обеспечить сопутствующую информацию в удобном файле проекта.

  • Ваше состояние проекта сохраняется между сеансами.

  • Можно загрузить ранее сохраненные проекты компилятора в предзаполненном меню.

  • Можно группировать приложения для распределения.

Смотрите также

|

Похожие темы