Пакет: кодер
Генерация кода системы управления от защищенных файлов MATLAB
coder.allowpcode ('плоскость')
coder.allowpcode('plain')
позволяет вам генерировать защищенный код MATLAB® (Псевдокод), который можно затем скомпилировать в оптимизированные MEX-функции или встраиваемый код C/C++. Эта функция не запутывает сгенерированные MEX-функции или встраиваемый код C/C++.
С этой возможностью можно распределить алгоритмы как защищенные P-файлы, которые обеспечивают оптимизацию генерации кода, обеспечивая защиту интеллектуальной собственности для источника код MATLAB.
Вызовите эту функцию в функции верхнего уровня перед операторами управления, такими как if
, while
, switch
и вызовы функции.
Функции MATLAB могут вызвать Псевдокод. Когда .m
и версии .p
файла существуют в той же папке, P-файл более приоритетен.
coder.allowpcode
проигнорирован за пределами генерации кода.
Сгенерируйте оптимизированный встраиваемый код из защищенного кода MATLAB:
Запишите функциональный p_abs
, который возвращает абсолютное значение его входного параметра:
function out = p_abs(in) %#codegen % The directive %#codegen indicates that the function % is intended for code generation coder.allowpcode('plain'); out = abs(in);
Сгенерируйте защищенный Псевдокод. В посдказке MATLAB войдите:
pcode p_abs
p_abs.p
, появляется в текущей папке.Сгенерируйте MEX-функцию для p_abs.p
, с помощью опции -args
, чтобы задать размер, класс и сложность входного параметра (требует лицензии MATLAB Coder™). В посдказке MATLAB войдите:
codegen p_abs -args { int32(0) }
codegen
генерирует MEX-функцию в текущей папке.Сгенерируйте встраиваемый код С для p_abs.p
(требует лицензии MATLAB CODER). В посдказке MATLAB войдите:
codegen p_abs -config:lib -args { int32(0) };
codegen
генерирует код библиотеки C в папке codegen\lib\p_abs
.