Package: coder
Control code generation from protected MATLAB files
coder.allowpcode('plain')
coder.allowpcode('plain')
allows you to
generate protected MATLAB® code (P-code) that you can then compile
into optimized MEX functions or embeddable C/C++ code. This function
does not obfuscate the generated MEX functions or embeddable C/C++
code.
With this capability, you can distribute algorithms as protected P-files that provide code generation optimizations.
Call this function in the top-level function before control-flow
statements, such as if
, while
, switch
,
and function calls.
MATLAB functions can call P-code. When the .m
and .p
versions
of a file exist in the same folder, the P-file takes precedence.
coder.allowpcode
is ignored outside of
code generation.
Generate optimized embeddable code from protected MATLAB code:
Write an function p_abs
that returns
the absolute value of its input:
function out = p_abs(in) %#codegen % The directive %#codegen indicates that the function % is intended for code generation coder.allowpcode('plain'); out = abs(in);
Generate protected P-code. At the MATLAB prompt, enter:
pcode p_abs
p_abs.p
,
appears in the current folder.Generate a MEX function for p_abs.p
,
using the -args
option to specify the size, class,
and complexity of the input parameter (requires a MATLAB
Coder™ license).
At the MATLAB prompt, enter:
codegen p_abs -args { int32(0) }
codegen
generates
a MEX function in the current folder.Generate embeddable C code for p_abs.p
(requires
a MATLAB
Coder license). At the MATLAB prompt, enter:
codegen p_abs -config:lib -args { int32(0) };
codegen
generates
C library code in the codegen\lib\p_abs
folder.