exponenta event banner

registerCFunctionEntry

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

Описание

пример

entry = registerCFunctionEntry(hTable,priority,numInputs,functionName,inputType,implementationName,outputType,headerFile,genCallback,genFileName) обеспечивает быстрый способ создания и регистрации записи функции замены кода.

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

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

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

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

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

Примеры

свернуть все

В этом примере показано, как использовать registerCFunctionEntry для создания записи функции C для sqrt в таблице замены кода.

hLib = RTW.TflTable;

hLib.registerCFunctionEntry(100, 1, 'sqrt', 'double', 'sqrt', ...
                            'double', '<math.h>', '', '');

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

свернуть все

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

Пример: hLib

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

Пример: 100

Пример: 1

functionName указывает имя заменяемой функции. Имя должно совпадать с именем функции, указанным в разделе «Код, который можно заменить» раздела Что такое настройка замены кода? (код MATLAB ®) или Что такое настройка замены кода? (модели Simulink).

Пример: 'sqrt'

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

Пример: 'double'

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

Пример: 'sqrt'

Пример: 'double'

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

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

Пример: ''

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

Пример: ''

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

свернуть все

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

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