exponenta event banner

registerCPromotableMacroEntry

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

Синтаксис

entry = registerCPromotableMacroEntry(hTable,priority,numInputs,functionName,inputType,implementationName,outputType,headerFile,genCallback,genFileName)

Описание

пример

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

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

  • Входные параметры имеют тот же тип.

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

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

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

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

Примеры

свернуть все

Этот пример показывает, как использовать функцию registerCPromotableMacroEntry, чтобы создать promotable макро-запись для 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 является указателем на созданную promotable макро-запись. Определение возвращаемого аргумента в вызове функции registerCPromotableMacroEntry является дополнительным.

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