exponenta event banner

registerCPromotableMacroEntry

Создание продвигаемой записи макроса замены кода на основе заданных параметров и регистрация в таблице замены кода (для abs только замена функции)

Описание

пример

entry = registerCPromotableMacroEntry(hTable,priority,numInputs,functionName,inputType,implementationName,outputType,headerFile,genCallback,genFileName) создает продвигаемую макро-запись на основе заданных параметров и регистрирует запись в таблице замены кода. Способный к продвижению элемент макроса повышает тип выходных данных на основе целевого размера слова.

Эта функция обеспечивает быстрый способ создания и регистрации продвигаемой макрокоманды. Эта функция может использоваться только в том случае, если запись функции замены кода соответствует следующим условиям:

  • Входные аргументы одного типа.

  • Имена входных аргументов и имена возвращаемых аргументов соответствуют соглашению об именовании Simulink ® по умолчанию:

    • Для имен входных аргументов u1, u2, ..., un

    • Для возвращаемого аргумента y1

Используйте эту функцию только для abs замена функции. Для других функций, поддерживаемых для замены, используйте registerCFunctionEntry.

Примеры

свернуть все

В этом примере показано, как использовать registerCPromotableMacroEntry создание продвигаемой макроса для abs в таблице замены кода.

hLib = RTW.TflTable;

hLib.registerCPromotableMacroEntry(100, 1, 'abs', ...
    'double', 'abs_prime', ...
    'double', '<math_prime.h>', '', '');

Входные аргументы

свернуть все

hTable является дескриптором таблицы замены кода, ранее возвращенной hTable = RTW.TflTable.

Пример: hLib

priority определяет приоритет поиска для записи функции относительно других записей с тем же именем функции и списком концептуальных аргументов в этой таблице. Наивысший приоритет равен 0, а наименьший приоритет равен 100. Если таблица предоставляет две реализации для функции, реализация с более высоким приоритетом затеняет реализацию с более низким приоритетом.

Пример: 100

Пример: 1

functionName указывает имя заменяемой функции. Определить 'abs'. Используйте эту функцию только для abs замена функции.

Пример: 'abs'

Эта функция требует, чтобы входные аргументы были одного типа.

Пример: 'double'

implementationName указывает имя реализации. Например, предполагая functionName является 'abs', implementationName может быть 'abs' или другое имя по вашему выбору.

Пример: 'abs'

Пример: 'double'

Пример: '<math.h>'

genCallback задает обратный вызов, следующий за генерацией кода. При указании 'RTW.copyFileToBuildDir', и если эта запись функции сопоставлена и используется, генератор кода вызывает функцию RTW.copyFileToBuildDir после генерации кода. Эта функция обратного вызова копирует дополнительные файлы заголовка, источника или объекта, указанные для этой записи функции, в папку построения.

Пример: ''

Этот аргумент зарезервирован для разработчиков MathWorks.

Пример: ''

Выходные аргументы

свернуть все

entry является дескриптором созданной продвигаемой макрокоманды. Указание возвращаемого аргумента в registerCPromotableMacroEntry вызов функции необязателен.

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