MATLAB Function | Включите код MATLAB в модели, которые генерируют встраиваемый код С |
MATLAB System | Включите Системный объект в модель |
coder.extrinsic | Объявите функцию как внешнюю и выполните ее в MATLAB |
coder.ignoreSize | Предотвратите создание генератором кода специализаций функций для выражений постоянного размера |
coder.ignoreConst | Предотвратите использование постоянного значения выражения для специализаций функции |
coder.unroll | Разблокируйте for -loop путем создания копии тела цикла для каждой итерации цикла |
Директива компиляции% # codegen
Укажите, что MATLAB® функция предназначена для генерации кода.
Генерация кода для списков аргументов переменной длины
Сгенерируйте код для varargin
и varargout
.
Генерация кода для рекурсивных функций
Используйте рекурсивные функции в коде MATLAB, который предназначен для генерации кода.
Принудительный генератор кода для использования рекурсии во время выполнения
Перепишите код MATLAB так, чтобы генератор кода использовал рекурсию во время выполнения вместо рекурсии во время компиляции.
Генерация кода для анонимных функций
Используйте анонимные функции в коде MATLAB, предназначенные для генерации кода.
Генерация кода для вложенных функций
Используйте вложенные функции в коде MATLAB, предназначенные для генерации кода.
Разрешение вызовов функций для генерации кода
Генератор кода использует правила приоритета для разрешения вызовов функций.
Разрешение типов файлов на пути генерации кода
Генератор кода использует правила приоритета для разрешения типов файлов.
Используйте MATLAB Engine для выполнения вызова функции в сгенерированном коде
Если функция не поддерживается для генерации кода, объявите ее как extrinsic для выполнения в MATLAB.
Неконстантный индекс в вараргин или вараргаут в цикле for-Loop
Цикл силы разворачивается, когда генератор кода не может определить значение индекса в varargin
или varargout
.
Избегайте дублирования функций в сгенерированном коде
Уменьшите вхождение повторяющихся функций в сгенерированном коде.
Выходная переменная должна быть назначена перед рекурсивным вызовом во время выполнения
Диагностируйте проблемы назначения выходных переменных для рекурсии во время выполнения.
Достигнут предел рекурсии во время компиляции
Диагностируйте проблемы с предельной ошибкой рекурсии во время компиляции.