Функциональное определение

Задайте и вызовите функции для генерации кода

Блоки

MATLAB FunctionВключайте код MATLAB в модели, которые генерируют встраиваемый код С
MATLAB SystemВключайте Системный объект в модель

Функции

coder.extrinsicОбъявите внешние функции
coder.ignoreSizeПрепятствуйте тому, чтобы генератор кода создал функциональные специализации для выражений постоянного размера
coder.ignoreConstПредотвратите использование постоянного значения выражения для функциональных специализаций
coder.unrollРазверните цикл for путем создания копии тела цикла для каждой итерации цикла

Темы

Направляющий % компиляции #codegen

Укажите, что функция MATLAB® предназначается для генерации кода.

Генерация кода для списков аргументов переменной длины

Сгенерируйте код для varargin и varargout.

Генерация кода для рекурсивных функций

Используйте рекурсивные функции в коде MATLAB, который предназначается для генерации кода.

Обеспечьте генератор кода, чтобы использовать рекурсию во время выполнения

Перепишите свой код MATLAB так, чтобы генератор кода использовал рекурсию во время выполнения вместо рекурсии времени компиляции.

Генерация кода для анонимных функций

Используйте анонимные функции в коде MATLAB, предназначенном для генерации кода.

Генерация кода для вложенных функций

Используйте вложенные функции в коде MATLAB, предназначенном для генерации кода.

Разрешение вызовов функции для генерации кода

Генератор кода использует правила приоритета, чтобы разрешить вызовы функции.

Разрешение типов файлов на пути генерации кода

Генератор кода использует правила приоритета, чтобы разрешить типы файлов.

Внешние функции

Объявите функцию как значение внешних параметров, когда генерация кода не поддержит эту функцию.

Поиск и устранение проблем

Непостоянный индекс в varargin или varargout в цикле for

Обеспечьте развертывание цикла, когда генератор кода не сможет определить значение индекса в varargin или varargout.

Избегайте дублирующихся функций в сгенерированном коде

Уменьшайте вхождение дублирующихся функций в сгенерированном коде.

Выходная переменная должна быть присвоена перед рекурсивным вызовом во время выполнения

Диагностируйте присвоение выходной переменной для рекурсии во время выполнения.

Достигнутый предел рекурсии времени компиляции

Диагностируйте предельную ошибку рекурсии времени компиляции.