Пакет: кодер
Создание управляющего кода из защищенных файлов MATLAB
coder.allowpcode('plain')
coder.allowpcode('plain') позволяет создавать защищенный код MATLAB ® (P-код), который затем можно скомпилировать в оптимизированные функции MEX или встраиваемый код C/C + +. Эта функция не запутывает сгенерированные функции MEX или встраиваемый код C/C + +.
Эта возможность позволяет распределять алгоритмы в виде защищенных P-файлов, обеспечивающих оптимизацию генерации кода.
Вызовите эту функцию в функции верхнего уровня перед операторами control-flow, такими как if, while, switchи вызовы функций.
Функции MATLAB могут вызывать P-код. Когда .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);Создание защищенного P-кода. По запросу MATLAB введите:
pcode p_abs
p_abs.p, отображается в текущей папке.Создание функции MEX для p_abs.p, с использованием -args для указания размера, класса и сложности входного параметра (требуется лицензия MATLAB Coder™). По запросу MATLAB введите:
codegen p_abs -args { int32(0) }codegen создает функцию MEX в текущей папке.Создание встраиваемого кода C для p_abs.p (требуется лицензия кодера MATLAB). По запросу MATLAB введите:
codegen p_abs -config:lib -args { int32(0) };codegen генерирует код библиотеки C в codegen\lib\p_abs папка.