exponenta event banner

Создание функций MEX с помощью приложения кодера MATLAB

Рабочий процесс создания функций MEX с помощью приложения кодера MATLAB

ШагДействиеПодробнее
1

Настройте проект MATLAB ® Coder™.

Настройка проекта кодера MATLAB
2

Укажите параметры конфигурации построения. Задать для типа построения значение MEX.

Настройка параметров проекта
3

Постройте проект.

Создание проекта кодера MATLAB

Приложение MATLAB Coder не поддерживается в MATLAB Online™. Для создания функций MEX в MATLAB Online используйте codegen команда.

Создание функции MEX с помощью приложения кодера MATLAB

В этом примере показано, как создать функцию MEX из кода MATLAB с помощью приложения MATLAB Coder.

Создание функции точки входа

В локальной папке для записи создайте файл MATLAB, mcadd.m, который содержит:

function y = mcadd(u,v) %#codegen
y = u + v;

Создание тестового файла

В той же локальной папке для записи создайте файл MATLAB, mcadd_test.m, что вызывает mcadd с вводами примеров. Примерами входных данных являются скаляры с типом int16.

function y = mcadd_test
y = mcadd(int16(2), int16(3));

Откройте приложение кодера MATLAB

На вкладке Приложения MATLAB Toolstrip в разделе Создание кода щелкните значок приложения MATLAB Coder.

Приложение открывает страницу Выбор исходных файлов.

Указать исходные файлы

  1. На странице «Выбор исходных файлов» введите или выберите имя функции точки входа. mcadd.

    Приложение создает проект с именем по умолчанию mcadd.prj.

  2. Нажмите кнопку Далее (Next), чтобы перейти к шагу Определить типы ввода (Define Input Types). Приложение анализирует функцию на предмет проблем кодирования и готовности к созданию кода. Если приложение выявляет проблемы, открывается страница «Проверка готовности к созданию кода», на которой можно просмотреть и устранить проблемы. В этом примере, поскольку приложение не обнаруживает проблем, открывается страница Определение типов ввода.

Определение типов ввода

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

Укажите тестовый файл mcadd_test.m который кодер MATLAB использует для автоматического определения типов для u и v:

  1. Введите или выберите тестовый файл mcadd_test.m.

  2. Щелкните Автоопределить типы ввода (Autodefine Input Types).

    тестовый файл, mcadd_test.m, вызывает функцию начальной точки, mcadd, с примерами типов ввода. Кодер MATLAB делает вывод, что входные данные u и v являются int16(1x1).

  3. Нажмите кнопку Далее, чтобы перейти к шагу Проверка ошибок времени выполнения.

Проверка наличия проблем во время выполнения

Шаг Проверка ошибок времени выполнения создает файл MEX из функций начального уровня, запускает функцию MEX и сообщает о проблемах. Этот шаг необязателен. Однако рекомендуется выполнять этот шаг. Можно обнаруживать и исправлять ошибки времени выполнения, которые труднее диагностировать в сгенерированном коде C.

  1. Чтобы открыть диалоговое окно Проверка на наличие проблем во время выполнения, щелкните стрелку Проверка на наличие проблем.

    Приложение заполняет поле тестового файла mcadd_test, тестовый файл, который использовался для определения типов ввода.

  2. Щелкните Проверить наличие проблем.

    Приложение генерирует функцию MEX. Он запускает тестовый файл, заменяющий вызовы mcadd с вызовами функции MEX. Если приложение обнаруживает проблемы во время создания или выполнения функции MEX, оно выдает предупреждения и сообщения об ошибках. Щелкните эти сообщения, чтобы перейти к проблемному коду и устранить проблему. В этом примере приложение не обнаруживает проблем.

  3. Нажмите кнопку Далее, чтобы перейти к шагу Создать код.

Создание функции MEX

  1. Чтобы открыть диалоговое окно «Генерировать», щелкните стрелку «Генерировать».

  2. В диалоговом окне «Создание» задайте для параметра «Тип построения» значение MEX и язык C. Используйте значения по умолчанию для других параметров конфигурации построения проекта.

  3. Щелкните Создать (Generate).

    Приложение указывает, что создание кода выполнено успешно. В левой части страницы отображаются исходные файлы MATLAB и созданные выходные файлы. На вкладке Переменные (Variables) отображается информация об исходных переменных MATLAB. На вкладке Целевой журнал построения отображается журнал построения, включая предупреждения и ошибки компилятора.

    MATLAB Coder строит проект и по умолчанию генерирует функцию MEX, mcadd_mex, в текущей папке. Кодер MATLAB также генерирует другие вспомогательные файлы во вложенной папке с именем codegen/mex/mcadd. Кодер MATLAB использует имя функции MATLAB в качестве корневого имени для созданных файлов. Он создает специфичное для платформы расширение для файла MEX. См. раздел Соглашения по именованию.

  4. Чтобы просмотреть отчет о создании кода, щелкните Показать отчет.

  5. Нажмите кнопку Далее, чтобы открыть страницу Завершить рабочий процесс.

Просмотр страницы «Завершение рабочего процесса»

Страница «Завершение рабочего процесса» показывает, что создание кода выполнено успешно. Он содержит сводку проекта и ссылки на сгенерированные выходные данные.

Настройка параметров проекта

Чтобы открыть диалоговое окно параметров проекта, выполните следующие действия.

  1. Чтобы открыть диалоговое окно «Генерировать», щелкните стрелку «Генерировать».

  2. Щелкните Дополнительные параметры.

Чтобы изменить параметры проекта, перейдите на вкладку, содержащую параметры, которые требуется изменить. Например, чтобы изменить параметр «Насыщение при переполнении целого числа», перейдите на вкладку «Скорость».

Функции MEX используют другой набор параметров конфигурации, чем библиотеки и исполняемые файлы. При изменении типа выходного документа с MEX Function кому Source Code Static Library, Dynamic Library, или Executableпроверьте эти параметры.

Некоторые параметры конфигурации являются релевантными как для MEX, так и для автономной генерации кода. Если включить любой из этих параметров, если тип вывода MEX Function, и вы хотите использовать тот же параметр для генерации кода C/C + +, вы должны включить его снова дляC/C++ Static Library, C/C++ Dynamic Library, и C/C++ Executable.

См. также

Создание проекта кодера MATLAB

Чтобы создать проект с использованием указанных параметров, на странице «Создать код» нажмите кнопку «Создать». Когда приложение MATLAB Coder создает проект, оно отображает ход сборки. По завершении построения приложение предоставляет сведения о построении на вкладке Целевой журнал построения.

Если отчет о создании кода включен или возникают ошибки построения, приложение создает отчет. В отчете содержится подробная информация о последней сборке и ссылка на отчет.

Чтобы просмотреть отчет, щелкните ссылку Просмотр отчета. Отчет содержит ссылки на код MATLAB и созданные файлы C/C + +, а также информацию о типе времени компиляции для переменных в коде MATLAB. При возникновении ошибок построения отчет содержит список ошибок и предупреждений.

См. также

Связанные темы