Чтобы ускорить генерацию MEX-функции, задайте использование технологии компиляции в JIT. Когда вы итератируете между изменением MATLAB® код и проверка кода MEX, использование этой опции может сэкономить время.
По умолчанию MATLAB Coder™ создает функцию C/C++ MEX путем генерации и компиляции кода C/C + +. Когда вы задаете компиляцию JIT, MATLAB Coder создает функцию JIT MEX, которая содержит абстрактное представление кода MATLAB. Когда вы запускаете функцию JIT MEX, MATLAB генерирует исполняемый код в памяти.
JIT-компиляция несовместима с определенными функциями генерации кода или опциями. См. «Несовместимость компиляции JIT». Если компиляция JIT включена, отсутствие предупреждений или сообщений об ошибке во время генерации кода указывает на успешную компиляцию JIT. В отчете о генерации кода вкладка Summary указывает, что Build Type JIT MEX Function.
Примечание
MEX-функции несовместимы между различными релизами программного обеспечения MATLAB Coder. Запустите функцию JIT MEX с помощью программного обеспечения MATLAB Coder того же релиза, которую вы использовали для генерации функции.
Чтобы открыть диалоговое окно Generate , щелкните стрелу Generate.![]()
Установите Build type значение MEX.
Установите флажок Use JIT compilation.
Используйте -jit опция codegen команда. Для примера укажите JIT-компиляцию для myfunction:
codegen -config:mex myfunction -jit -report
Кроме того, используйте EnableJIT параметр конфигурации кода.
cfg = coder.config('mex'); cfg.EnableJIT = true; codegen -config cfg myfunction -report
В следующей таблице представлены функции генерации кода или опции, несовместимые с JIT-компиляцией.
| Несовместимость | Тип сообщения | Сгенерированный MEX | Действие |
|---|---|---|---|
| Пользовательский код | Предупреждение | C/C + + MEX | Чтобы избежать предупреждения, отключите JIT-компиляцию. |
Обновление информации о сборке (coder.updateBuildInfo) | Предупреждение | C/C + + MEX | Чтобы избежать предупреждения, отключите JIT-компиляцию. |
Использование интерфейса приложения OpenMP для параллелизации for-циклы (parfor) | Предупреждение |
| Если вы хотите параллелизации for-циклы, отключить компиляцию JIT. |
| Генерация только исходного кода C/C + + | Ошибка | Ничего | Задайте JIT-компиляцию или генерацию только кода C/C + +. |