Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

coder.allowpcode

Package: coder

Control code generation from protected MATLAB files

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 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.

Examples

Generate optimized embeddable code from protected MATLAB code:

  1. 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);

  2. Generate protected P-code. At the MATLAB prompt, enter:

    pcode p_abs
    The P-file, p_abs.p, appears in the current folder.

  3. 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.

  4. 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.

See Also

|

Topics

    Introduced in R2011a

    Was this topic helpful?