Класс: coder.make.BuildTool
Пакет: coder.make
Установить значение директивы в Directives
h.setDirective(name,value)
присваивает значение именованной директиве в h.setDirective(name,value)coder.make.Directives.
Следующий пример кода показывает 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<|');
tc = coder.make.ToolchainInfo;
tool = tc.getBuildTool('C Compiler');
tool.addDirective('IncludeSearchPath','-O');
tool.setDirective('IncludeSearchPath','-I');
tool.getDirective('IncludeSearchPath')
ans = -I
Если для создания целевого приложения «процессор в цикле» (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'); ...