coder.allowpcode

Пакет: кодер

Генерация кода системы управления от защищенных файлов MATLAB

Синтаксис

coder.allowpcode('plain')

Описание

coder.allowpcode('plain') позволяет вам генерировать защищенный MATLAB® код (Псевдокод), который можно затем скомпилировать в оптимизированные MEX-функции или встраиваемый код C/C++. Эта функция не запутывает сгенерированные MEX-функции или встраиваемый код C/C++.

С этой возможностью можно распределить алгоритмы как защищенные P-файлы, которые обеспечивают оптимизацию генерации кода.

Вызовите эту функцию в функции верхнего уровня перед операторами управления, такими как ifв то время какSwitch, и вызовы функции.

Функции MATLAB могут вызвать Псевдокод. Когда .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. Сгенерируйте защищенный Псевдокод. В подсказке 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 папка.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.

Смотрите также

| (MATLAB Coder)

Введенный в R2011a