coder.allowpcode
Package:coder
Control code generation from protectedMATLABfiles
Syntax
coder.allowpcode('plain')
Description
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, providing intellectual property protection for your source MATLAB code.
Call this function in the top-level function before control-flow statements, such asif
,while
,switch
, and function calls.
MATLAB functions can call P-code. When the.m
and每分钟
versions of a file exist in the same folder, the P-file takes precedence.
coder.allowpcode
is ignored outside of code generation.
Examples
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:
pcodep_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 aMATLAB 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 aMATLAB Coderlicense). At the MATLAB prompt, enter:codegen p_abs -config:lib -args { int32(0) };
codegen
generates C library code in thecodegen\lib\p_abs
folder.