Упростите компиляцию Используя макросы

Макросы

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

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

Макрос

Пакет

Создает

Эквивалентность опции

Function Wrapper |Output Stage ||

-lmacro_option_l

Библиотека

-W lib -T link:lib
-mmacro_option_m

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

-Wmain-Tlink:exe

Работа с макросами

-m опция говорит компилятору производить автономное приложение. -m макрос эквивалентен ряду опций

-W main -T link:exe

Эта таблица показывает варианты, которые составляют -m макрос и информация, которую они предоставляют компилятору.

- m Макрос

Опция

Функция

-W main

Произведите файл обертки, подходящий для автономного приложения.

-T link:exe

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

Изменение макросов

Можно изменить значение макроса путем редактирования соответствующего macro_option файл в matlabroot\toolbox\compiler\bundles. Например, чтобы изменить -m макрос, отредактируйте файл macro_option_m в bundles папка.

Примечание

Это изменяет значение -m для всех пользователей этой установки MATLAB®.

Определение макросов по умолчанию

Как MCCSTARTUP функциональность была заменена технологией пакета, macro_default файл, который находится в toolbox\compiler\bundles может использоваться, чтобы задать опции по умолчанию к компилятору.

Например, добавление -mv к macro_default файл вызывает команду:

 mcc foo.m
чтобы выполниться, как будто это было:
mcc -mv foo.m
Точно так же добавляющий -v к macro_default файл вызывает команду:
mcc -W 'lib:libfoo' -T link:lib foo.m
чтобы вести себя, как будто команда была:
mcc -v -W 'lib:libfoo' -T link:lib foo.m

Для просмотра документации необходимо авторизоваться на сайте