Включайте заголовочный файл в сгенерированный код
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)
coder.ceval | coder.target | coder.reservedName (MATLAB Coder)