exponenta event banner

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™ ».

% ------------------------------
% 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), поддерживающего анализ Coverage™ Simulink ® или профилирование кода 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');
...