Параметризуйте функцию MATLAB так, чтобы она работала в MATLAB или в сгенерированном коде. Когда функция запускается в MATLAB, она вызывает функцию MATLAB myabsval. Сгенерированный код, однако, вызывает библиотечную функцию C myabsval.
Запишите функции MATLAB myabsval.
Сгенерируйте статическую библиотеку C для myabsval, с помощью опции -args, чтобы задать размер, введите, и сложность входного параметра.
Функция
codegen создает файл библиотеки
myabsval.lib и заголовочный файл
myabsval.h в папке
\codegen\lib\myabsval. (Расширение файла библиотеки может измениться в зависимости от вашей платформы.) Это генерирует функции
myabsval_initialize и
myabsval_terminate в той же папке.
Запишите функцию MATLAB, чтобы вызвать сгенерированную библиотечную функцию C с помощью coder.ceval.
Сгенерируйте MEX-функцию callmyabsval_mex. Обеспечьте сгенерированный файл библиотеки в командной строке.
Вместо того, чтобы обеспечивать библиотеку в командной строке, можно использовать coder.updateBuildInfo, чтобы задать библиотеку в функции. Используйте эту опцию, чтобы предварительно сконфигурировать сборку. Добавьте эту строку к блоку else:
Запустите MEX-функцию callmyabsval_mex, который вызывает библиотечную функцию myabsval.
Вызовите функцию MATLAB callmyabsval.
Функция
callmyabsval показывает желаемое поведение для выполнения в MATLAB и в генерации кода.