coder.allowpcode

Пакет: coder

Управляйте генерацией кода из защищенных файлов 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:

  1. Напишите функцию 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);

  2. Сгенерируйте защищенный P-код. В подсказке MATLAB введите:

    pcode p_abs
    P-файл, p_abs.p, появляется в текущей папке.

  3. Сгенерируйте MEX-функцию для p_abs.p, с использованием -args опция для определения размера, класса и сложности входного параметра (требует лицензии MATLAB Coder™). В подсказке MATLAB введите:

    codegen p_abs -args { int32(0) }
    codegen генерирует MEX-функцию в текущей папке.

  4. Сгенерируйте встраиваемый код С для p_abs.p (требуется лицензия MATLAB Coder). В подсказке MATLAB введите:

    codegen p_abs -config:lib -args { int32(0) };
    codegen генерирует код библиотеки C в codegen\lib\p_abs папка.

Введенный в R2011a