Перед созданием автономного кода C/C + + для кода MATLAB ® рекомендуется создать функцию MEX из исходных функций. Выполнение функции MEX помогает обнаруживать и исправлять ошибки времени выполнения, которые труднее диагностировать в сгенерированном коде. Это также позволяет проверить, что MEX обеспечивает те же функциональные возможности, что и исходный код MATLAB.
В приложении MATLAB Coder™ для создания и запуска функции MEX для кода MATLAB выполните шаг Проверка на наличие проблем времени выполнения.
Напишите функцию или скрипт, вызывающий функции начального уровня. Можно использовать тот же тестовый файл (или файлы), который используется для автоматического определения типов ввода на шаге Определить типы ввода (Define Input Types).
Выполните шаги Выбрать исходные файлы (Select Source Files) и Определить типы ввода (Define Input Types). На странице Определение типов ввода (Define Input Types) нажмите кнопку Далее (Next), чтобы перейти к шагу Проверка на наличие проблем времени выполнения (Check for Run-Time Issues).
Укажите тестовый файл. На предыдущем шаге при автоматическом создании типов ввода приложение заполняет диалоговое окно этим тестовым файлом. Вместо тестового файла можно ввести код, вызывающий функции точки входа. Однако рекомендуется предоставлять тестовый файл.
Щелкните Проверить наличие проблем. Приложение генерирует функцию MEX из функции MATLAB. Он выполняет указанный тест, заменяя вызовы функций начального уровня MATLAB вызовами сгенерированной функции MEX. Приложение сообщает об ошибках генерации или построения MEX на вкладке Ошибки. Приложение сообщает об ошибках выполнения MEX на вкладке Test Output.
Если приложение сообщает об ошибках, чтобы изменить код MATLAB, щелкните Просмотреть ошибки.
После устранения проблем для повторного запуска теста нажмите кнопку Проверить наличие проблем.
Приложение MATLAB Coder не поддерживается в MATLAB Online™.
Когда приложение запускает функцию MEX, оно подсчитывает выполнение кода MEX, который соответствует строке кода MATLAB. Если приложение не обнаруживает проблем, можно просмотреть эти счетчики выполнения строк. Подсчет выполнения строк позволяет определить, насколько хорошо тест выполняет код MATLAB. Можно определить мертвый код и разделы кода, которые требуют дальнейшего тестирования. См. раздел Сбор и просмотр счетчиков выполнения строк для кода MATLAB.
По умолчанию для ускорения создания функции MEX приложение пытается использовать компиляцию JIT. Компиляция JIT несовместима с определенными функциями и параметрами генерации кода, такими как пользовательский код и использование библиотеки OpenMP. Если приложение не может использовать компиляцию JIT, вместо нее создается функция C/C + + MEX. Если используется код parfor и параметр Включить библиотеку OpenMP, если это возможно Yesприложение использует компиляцию JIT и обрабатывает parfor-закольцовывает как for-контуры. Если требуется выполнить шаг Проверка ошибок времени выполнения for- параллельные циклы, отключение компиляции JIT:
На странице Проверка ошибок времени выполнения щелкните Параметры.
На вкладке «Все параметры» установите для параметра «Использовать компиляцию JIT» в окне «Проверка на наличие проблем во время выполнения» значение No.