Включайте заголовочный файл в сгенерированный код
coder.cinclude(headerfile)coder.cinclude(headerfile,'InAllSourceFiles',allfiles)coder.cinclude( включает заголовочный файл в сгенерированный исходный код C/C++.headerfile)
MATLAB® Coder™ генерирует включать оператор в исходных файлах C/C++, которые сгенерированы из кода MATLAB, который содержит вызов coder.cinclude.
В модели Simulink®, когда вызов coder.cinclude появляется в блоке MATLAB function, генератор кода помещает включать оператор в образцовый заголовочный файл.
coder.cinclude( использует опцию headerfile,'InAllSourceFiles',allfiles)allfiles, чтобы определить, включать ли заголовочный файл почти во все исходные файлы C/C++.
Если allfiles является true, MATLAB Coder генерирует включать оператор почти во всех исходных файлах C/C++, за исключением некоторых служебных файлов. Это поведение является поведением coder.cinclude от R2016a и более ранних релизов. Присутствие включать оператора в этих дополнительных файлах может увеличить время компиляции и сделать сгенерированный код менее читаемым. Используйте эту опцию, только если ваш код зависит от устаревшего поведения. Если allfiles является false, поведение совпадает с поведением coder.cinclude(headerfile).
В блоке MATLAB function coder.cinclude(headerfile,'InAllSourceFiles', allfiles) совпадает с coder.cinclude(headerfile).
Не вызывайте coder.cinclude в условных построениях во время выполнения, таких как операторы if, операторы switch, while - циклы и for - циклы. Можно вызвать coder.cinclude в условных операторах времени компиляции, таких как coder.target. Например:
... if ~coder.target('MATLAB') coder.cinclude('foo.h'); coder.ceval('foo'); end ...
Перед вызовом coder.ceval вызовите coder.cinclude, чтобы включать заголовочный файл, требуемый внешней функцией, которую вызывает coder.ceval.
Посторонний включают операторы в сгенерированный код C/C++, может увеличить время компиляции и уменьшать удобочитаемость кода. Чтобы избежать посторонний включают операторы в код, сгенерированный MATLAB Coder, применяют эти лучшые методы:
Поместите вызов coder.cinclude максимально близко вызова coder.ceval, который требует заголовочного файла.
Не устанавливайте allfiles на true.
Для блока MATLAB function генератор кода генерирует включать оператор в образцовом заголовочном файле.
В R2016a и более ранних релизах, для любого вызова coder.cinclude, MATLAB Coder включал заголовочный файл в, почти все сгенерировали исходные файлы C/C++, за исключением некоторых служебных файлов. Если у вас есть код, который зависит от этого устаревшего поведения, можно сохранить устаревшее поведение при помощи этого синтаксиса:
coder.cinclude(headerfile,'InAllSourceFiles',true)