Чтобы ускорить создание функции MEX, укажите использование технологии компиляции JIT. При итерации между изменением кода MATLAB ® и тестированием кода MEX использование этой опции позволяет сэкономить время .
По умолчанию MATLAB Coder™ создает функцию C/C + + MEX путем генерации и компиляции кода C/C + +. При задании компиляции JIT кодер MATLAB создает функцию JIT MEX, которая содержит абстрактное представление кода MATLAB. При запуске функции JIT MEX MATLAB генерирует исполняемый код в памяти.
Компиляция JIT несовместима с определенными функциями или параметрами генерации кода. См. раздел Несовместимость компиляции JIT. Если компиляция JIT включена, отсутствие предупреждений или сообщений об ошибках во время генерации кода указывает на успешную компиляцию JIT. В отчете о создании кода на вкладке «Сводка» указывается, что типом построения является JIT MEX Function.
Примечание
Функции JIT MEX несовместимы с различными версиями программного обеспечения MATLAB Coder. Запустите функцию JIT MEX с помощью программного обеспечения MATLAB Coder той же версии, которая использовалась для создания функции.
Чтобы открыть диалоговое окно «Генерировать», щелкните стрелку «Генерировать».![]()
Задать для типа построения значение MEX.
Установите флажок Использовать компиляцию JIT.
Используйте -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 + +. |