exponenta event banner

coder.allowpcode

Пакет: кодер

Создание управляющего кода из защищенных файлов 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. Создание встраиваемого кода C для p_abs.p (требуется лицензия кодера MATLAB). По запросу MATLAB введите:

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

Представлен в R2011a