exponenta event banner

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

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

Ключевые моменты о разрешении вызовов функций

Диаграмма иллюстрирует ключевые моменты о том, как MATLAB решает вызовы функции для генерации кода:

  • Поиск двух путей, пути генерации кода и пути MATLAB

    См. раздел Порядок поиска по пути компиляции.

  • Пытается скомпилировать функции, если только генератор кода не определит, что он не должен их скомпилировать, или если вы явно объявите их внешними.

    Если функция MATLAB не поддерживается для генерации кода, ее можно объявить внешней с помощью конструкции coder.extrinsic, как описано в разделе Использование конструкции coder.extrinsic. Во время моделирования генератор кода создает код для вызова внешней функции, но не генерирует внутренний код для функции. Поэтому моделирование может выполняться только на платформах, на которых установлено программное обеспечение MATLAB. Во время генерации автономного кода генератор кода пытается определить, влияет ли внешняя функция на выход функции, в которой она вызывается - например, возвращая mxArrays к выходной переменной. Если выходные данные не изменяются, генерация кода продолжается, но внешняя функция исключается из генерируемого кода. В противном случае возникают ошибки компиляции.

    Генератор кода обнаруживает вызовы многих общих функций визуализации, таких как plot, disp, и figure. Программное обеспечение рассматривает эти функции как внешние функции, но не обязательно объявлять их внешними с помощью coder.extrinsic функция.

  • Разрешение типа файла на основе правил приоритета, описанных в разделе Разрешение типов файлов по пути создания кода

Порядок поиска по пути компиляции

Во время генерации кода вызовы функций разрешаются по двум путям:

  1. Путь создания кода

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

  2. Путь MATLAB

    Если функция не находится на пути генерации кода, MATLAB выполняет поиск по этому пути.

При поиске по каждому пути MATLAB применяет одни и те же правила диспетчера (см. раздел Порядок очередности функций).

Когда использовать путь создания кода

Используйте путь создания кода для переопределения функции MATLAB с помощью настроенной версии. Файл на пути создания кода затеняет файл с тем же именем на пути MATLAB.

Дополнительные сведения о добавлении дополнительных папок в путь создания кода см. в разделе Настройка путей и инфраструктуры файлов (кодер MATLAB).