registerCPPFunctionEntry

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

Описание

пример

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

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

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

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

    • Для входных параметров, u1, u2,..., u n

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

При регистрации библиотеки замещения кода, содержащей записи функции C++, необходимо задать значение {'C++'} для LanguageConstraint свойство записи реестра библиотеки. Дополнительные сведения см. в разделе Библиотека замещения кода регистра.

Примеры

свернуть все

В этом примере показано, как использовать registerCPPFunctionEntry функция для создания записи функции C++ для sin в таблице замещения кода.

hLib = RTW.TflTable;

hLib.registerCPPFunctionEntry(100, 1, 'sin', 'single', 'sin', ...
                              'single', 'cmath', '', '', 'std');

Входные параметры

свернуть все

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

Пример: hLib

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

Пример: 100

Пример: 1

The functionName задает имя функции. Имя должно совпадать с функцией, указанной в Коде, который вы можете заменить из Кода MATLAB или Кода, который вы можете заменить из моделей Simulink.

Пример: 'sin'

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

Пример: 'double'

The implementationName задает имя реализации. Для примера, если functionName является 'sqrt', implementationName можно 'sqrt' или другое имя.

Пример: 'sqrt'

Пример: 'double'

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

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

Пример: ''

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

Пример: ''

The nameSpace задает пространство имен C++, в котором задана функция реализации. Если эта запись функции совпадает, программное обеспечение излучает пространство имен в сгенерированном коде функции (для примера, std::sin(tfl_cpp_U.In1)). Если вы задаете ''программное обеспечение не излучает обозначение пространства имен в сгенерированном коде.

Пример: 'std'

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

свернуть все

The entry является указателем на созданную запись функции C++. Задание возвращаемого аргумента в registerCPPFunctionEntry вызов функции опциональен.

Введенный в R2010a
Для просмотра документации необходимо авторизоваться на сайте