setDirective

Класс: coder.make.BuildTool
Пакет: coder.make

Установите значение директивы в Directives

Синтаксис

h.setDirective(name,value)

Описание

h.setDirective(name,value) присваивает значение именованной директиве в coder.make.Directives.

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

расширить все

Указатель на объект для coder.make.BuildTool объект, заданный как переменная.

Пример: tool

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

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

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

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

Примеры

Получите инструмент сборки по умолчанию и установите его свойства

Следующий пример кода показывает setDirective в части intel_tc.m файл из руководства «Добавление пользовательских наборов инструментальных средств в MATLAB ® Coder™ Build Process ».

% ------------------------------
% C Compiler
% ------------------------------
 
tool = tc.getBuildTool('C Compiler');

tool.setName('Intel C Compiler');
tool.setCommand('icl');
tool.setPath('');

tool.setDirective('IncludeSearchPath','-I');
tool.setDirective('PreprocessorDefine','-D');
tool.setDirective('OutputFlag','-Fo');
tool.setDirective('Debug','-Zi');

tool.setFileExtension('Source','.c');
tool.setFileExtension('Header','.h');
tool.setFileExtension('Object','.obj');

tool.setCommandPattern('|>TOOL<| |>TOOL_OPTIONS<| |>OUTPUT_FLAG<||>OUTPUT<|');

Используйте метод setDirective в интерактивном режиме

tc = coder.make.ToolchainInfo;
tool = tc.getBuildTool('C Compiler');
tool.addDirective('IncludeSearchPath','-O');
tool.setDirective('IncludeSearchPath','-I');
tool.getDirective('IncludeSearchPath')
ans  = 

-I

Задайте пользовательские директивы набора инструментальных средств для создания целевого приложения PIL

Если вы используете пользовательский набор инструментальных средств для создания целевого приложения с процессором в цикле (PIL), которое поддерживает Simulink® Coverage™ анализ или Embedded Coder® профилирования выполнения кода, в файле определения набора инструментальных средств, вы должны предоставить следующие директивы компилятора:

  • CompileFlag - Укажите флаг, который компилятор C или C++ использует для компиляции исходных файлов без ссылки. Для примера, если компилятором в наборе инструментальных средств является GNU® C или C++, установите директиву на -c.

  • PreprocessFile - Укажите флаг, который компилятор C или C++ использует для предварительной обработки исходных файлов без выполнения других этапов компиляции. Для примера, если компилятором в наборе инструментальных средств является GNU C или C++, установите директиву на -E.

В этом разделе из примера файла определения набора инструментальных средств показано, как вы можете использовать setDirective метод для обеспечения директивы.

tc = coder.make.ToolchainInfo('BuildArtifact','nmake makefile');
tc.Name ='My Toolchain Name';
tc.Platform ='win64';
tc.SupportedVersion ='14';
...
% ------------------------------
% C Compiler
% ------------------------------
tool = tc.getBuildTool('C Compiler');
tool.setName('My C Compiler');
...
tool.setDirective('CompileFlag','-c');
tool.setDirective('PreprocessFile','-E');
...