Включайте заголовочный файл в сгенерированный код
coder.cinclude(
включает заголовочный файл в сгенерированный исходный код C/C++.headerfile
)
MATLAB® Coder™ генерирует включать оператор в исходных файлах C/C++, которые сгенерированы из кода MATLAB, который содержит coder.cinclude
вызвать.
В модели Simulink®, когда a coder.cinclude
вызов появляется в блоке MATLAB Function, генератор кода помещает включать оператор в заголовочный файл модели.
Примечание
Поместите a coder.cinclude
вызов максимально близко coder.ceval
вызовите, который требует заголовочного файла.
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 ...
Прежде a coder.ceval
вызовите, вызовите coder.cinclude
включать заголовочный файл, требуемый внешней функцией это coder.ceval
вызовы.
Посторонний включают операторы в сгенерированный код C/C++, может увеличить время компиляции и уменьшать удобочитаемость кода. Чтобы избежать посторонний включают операторы в код, сгенерированный MATLAB Coder, применяют эти лучшые методы:
Поместите a coder.cinclude
вызов максимально близко coder.ceval
вызовите, который требует заголовочного файла.
Не устанавливайте allfiles
к true
.
Для блока MATLAB Function генератор кода генерирует включать оператор в заголовочном файле модели.
В R2016a и более ранних релизах, для любого coder.cinclude
вызов, MATLAB Coder включал заголовочный файл в, почти все сгенерировали исходные файлы C/C++, за исключением некоторых служебных файлов. Если у вас есть код, который зависит от этого устаревшего поведения, можно сохранить устаревшее поведение при помощи этого синтаксиса:
coder.cinclude(headerfile,'InAllSourceFiles',true)
codegen
| coder.ceval
| coder.config
| coder.reservedName
| coder.target