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