Установите заданные параметры для функциональной записи в заменяющей таблице кода
setTflCFunctionEntryParameters(hEntry,varargin)
Этот пример показывает, как использовать функцию setTflCFunctionEntryParameters
, чтобы установить заданные параметры для заменяющей записи функции кода для sqrt
.
fcn_entry = RTW.TflCFunctionEntry; fcn_entry.setTflCFunctionEntryParameters( ... 'Key', 'sqrt', ... 'Priority', 100, ... 'ImplementationName', 'sqrt', ... 'ImplementationHeaderFile', '<math.h>' );
hEntry
— Обработайте к заменяющей записи функции кодаhEntry
является указателем на заменяющую запись функции кода, ранее возвращенную
или hEntry = RTW.TflCFunctionEntry
, где hEntry = MyCustomFunctionEntry
является классом, выведенным от MyCustomFunctionEntry
RTW.TflCFunctionEntry
.
Пример: fcn_entry
varargin
Пары "имя-значение" аргументов для функциональной записиПример: 'Key','sqrt'
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'Key','sqrt'
'AcceptExprInput'
— Выбирает, принимает ли функция реализации входные параметры выраженияtrue
| false
Значение AcceptExprInput
отмечает генератор кода, что функция реализации, описанная этой записью, принимает входные параметры выражения. Значением по умолчанию является true
, если ImplType
равняется FCN_IMPL_FUNCT
и false
, если ImplType
равняется FCN_IMPL_MACRO
.
Если значением является true
, входные параметры выражения интегрированы в сгенерированный код в форме, подобной этой форме:
rtY.Out1 = mySin(rtU.In1 + rtU.In2);
Если значением является false
, временная переменная сгенерирована для входа выражения:
real_T rtb_Sum; rtb_Sum = rtU.In1 + rtU.In2; rtY.Out1 = mySin(rtb_Sum);
Пример: 'AcceptExprInput',true
'AdditionalHeaderFiles'
— Задает дополнительные заголовочные файлы для записи таблицы{}
(значение по умолчанию) | массив векторов символов | массив строкЗначение AdditionalHeaderFiles
задает дополнительные заголовочные файлы для заменяющей записи таблицы кода. Векторы могут включать лексемы. Например, в маркерном $mytoken$
, mytoken
является переменной, заданной как вектор символов или скаляр строки в рабочей области MATLAB® или как функция MATLAB на пути поиска файлов, который возвращает вектор символов.
Пример: 'AdditionalHeaderFiles',{}
'AdditionalIncludePaths'
— Задает дополнительный, включают пути для записи таблицы{}
(значение по умолчанию) | массив векторов символов | массив строкЗначение AdditionalIncludePaths
указывает, что полный путь дополнительных включает пути для заменяющей записи кода. Векторы символов или массив строк могут включать лексемы. Например, в маркерном $mytoken$
, mytoken
является переменной, заданной как вектор символов или скаляр строки в рабочем пространстве MATLAB или как функция MATLAB на пути поиска файлов, который возвращает вектор символов.
Пример: 'AdditionalIncludePaths',{}
'AdditionalLinkObjs'
— Задает дополнительные объекты ссылки для записи таблицы{}
(значение по умолчанию) | массив векторов символов | массив строкЗначение AdditionalLinkObjs
задает дополнительные объекты ссылки для заменяющей записи таблицы кода. Векторы символов или массив строк могут включать лексемы. Например, в маркерном $mytoken$
, mytoken
является переменной, заданной как вектор символов или скаляр строки в рабочем пространстве MATLAB или как функция MATLAB на пути поиска файлов, который возвращает вектор символов.
Пример: 'AdditionalLinkObjs',{}
'AdditionalLinkObjsPaths'
— Определение дополнительных путей к объекту ссылки для записи таблицы{}
(значение по умолчанию) | массив векторов символов | массив строкЗначение AdditionalLinkObjsPaths
задает полный путь дополнительных путей к объекту ссылки для заменяющей записи кода. Векторы символов или массив строк могут включать лексемы. Например, в маркерном $mytoken$
, mytoken
является переменной, заданной как вектор символов или скаляр строки в рабочем пространстве MATLAB или как функция MATLAB на пути поиска файлов, который возвращает вектор символов. Значением по умолчанию является {}
.
Пример: 'AdditionalLinkObjsPaths',{}
'AdditionalSourceFiles'
— Задает дополнительные исходные файлы для записи таблицы{}
(значение по умолчанию) | массив векторов символов | массив строкЗначение AdditionalSourceFiles
задает дополнительные исходные файлы для заменяющей записи таблицы кода. Векторы символов или массив строк могут включать лексемы. Например, в маркерном $mytoken$
, mytoken
является переменной, заданной как вектор символов или скаляр строки в рабочем пространстве MATLAB или как функция MATLAB на пути поиска файлов, который возвращает вектор символов.
Пример: 'AdditionalSourceFiles',{}
'AdditionalSourcePaths'
— Задает дополнительные исходные пути для записи таблицы{}
(значение по умолчанию) | массив векторов символов | массив строкЗначение AdditionalSourcePaths
задает полный путь дополнительных исходных путей для заменяющей записи кода. Векторы символов или массив строк могут включать лексемы. Например, в маркерном $mytoken$
, mytoken
является переменной, заданной как вектор символов или скаляр строки в рабочем пространстве MATLAB или как функция MATLAB на пути поиска файлов, который возвращает вектор символов.
Пример: 'AdditionalSourcePaths',{}
'AdditionalCompileFlags'
— Задает дополнительные флаги компилятора для записи таблицы{}
(значение по умолчанию) | массив векторов символов | массив строкЗначение AdditionalCompileFlags
задает дополнительные флаги, требуемые скомпилировать исходные файлы, заданные для заменяющей записи таблицы кода. Значением по умолчанию является {}
.
Пример: 'AdditionalCompileFlags',{}
'AdditionalLinkFlags'
— Задает дополнительные флаги компоновщика для записи таблицы{}
(значение по умолчанию) | массив векторов символов | массив строкЗначение AdditionalLinkFlags
задает дополнительные флаги, требуемые соединить скомпилированные файлы для заменяющей записи таблицы кода.
Пример: 'AdditionalLinkFlags',{}
'ArrayLayout'
— Задает размещение устройства хранения данных массивов для записи таблицы'COLUMN_MAJOR'
(значение по умолчанию) | 'ROW_MAJOR'
| 'COLUMN_AND_ROW'
Значение ArrayLayout
задает порядок элементов массива в памяти, поддержанной заменяющей реализацией. По умолчанию, заменяющая поддержка внедрения главный столбцом формат данных. Для ROW-MAJOR
, заменяющая поддержка внедрения главный строкой формат данных. Для COLUMN_AND_ROW
, заменяющая поддержка внедрения главные столбцом и главные строкой форматы данных.
Пример: 'ArrayLayout','ROW_MAJOR'
'EntryInfoAlgorithm'
— Задает метод вычисления или приближения, чтобы соответствовать для записи таблицы'RTW_DEFAULT'
| 'RTW_NEWTON_RAPHSON'
| 'RTW_CORDIC'
| 'RTW_UNSPECIFIED'
Значение EntryInfoAlgorithm
задает метод вычисления или приближения, сконфигурированный для заданной математической функции, которая должна быть соответствующей для функциональной замены, чтобы произойти. Заменяющая замена функции поддержки библиотек кода на основе метода вычисления или приближения для математических функций rSqrt
, sin
, cos
и sincos
. Допустимые аргументы для каждой поддерживаемой функции перечислены в таблице.
Функция | Аргумент | Значение |
---|---|---|
|
|
Совпадайте с методом вычисления по умолчанию, |
|
Совпадайте с методом вычисления | |
|
Совпадайте с методом вычисления | |
|
|
Совпадайте с методом приближения |
|
Совпадайте с методом приближения по умолчанию, | |
|
Совпадайте с методом приближения |
Пример: 'EntryInfoAlgorithm','RTW_DEFAULT'
'GenCallback'
— Задает коллбэк, который следует за генерацией кода''
(значение по умолчанию) | 'RTW.copyFileToBuildDir'
GenCallback
задает коллбэк, который следует за генерацией кода. Если вы задаете 'RTW.copyFileToBuildDir'
, и если эта функциональная запись является соответствующей и используется, функция вызовов генератора кода RTW.copyFileToBuildDir
после генерации кода. Эта функция обратного вызова копирует дополнительный заголовок, источник или объектные файлы, которые вы задали для этой функциональной записи в папку сборки. Для получения дополнительной информации смотрите, Указывают информацию Сборки для Заменяющего Кода.
Пример: 'GenCallback',''
'ImplementationHeaderFile'
— Задает имя заголовочного файла, который объявляет функцию реализации''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиЗначение ImplementationHeaderFile
задает имя заголовочного файла, который объявляет функцию реализации, например, '<math.h>'
. Вектор символов или скаляр строки могут включать лексемы. Например, в маркерном $mytoken$
, mytoken
является переменной, заданной как вектор символов или скаляр строки в рабочем пространстве MATLAB или как функция MATLAB на пути поиска файлов, который возвращает вектор символов.
Пример: 'ImplementationHeaderFile',''
'ImplementationHeaderPath'
— Задает путь к заголовочному файлу реализации''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиЗначение ImplementationHeaderPath
задает полный путь к заголовочному файлу реализации. Вектор символов или скаляр строки могут включать лексемы. Например, в маркерном $mytoken$
, mytoken
является переменной, заданной как вектор символов или скаляр строки в рабочем пространстве MATLAB или как функция MATLAB на пути поиска файлов, который возвращает вектор символов.
Пример: 'ImplementationHeaderPath',''
'ImplementationName'
— Задает имя функции реализации''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиЗначение ImplementationName
задает имя функции реализации, например, 'sqrt'
, который может соответствовать или отличаться от имени Key
.
Пример: 'ImplementationName',''
'ImplementationSourceFile'
— Задает имя исходного файла реализации''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиЗначение ImplementationSourceFile
задает имя исходного файла реализации. Вектор символов или скаляр строки могут включать лексемы. Например, в маркерном $mytoken$
, mytoken
является переменной, заданной как вектор символов или скаляр строки в рабочем пространстве MATLAB или как функция MATLAB на пути поиска файлов, который возвращает вектор символов.
Пример: 'ImplementationSourceFile',''
'ImplementationSourcePath'
— Задает путь к исходному файлу реализации''
(значение по умолчанию) | вектор символов | представляет скаляр в виде строкиЗначение ImplementationSourcePath
задает полный путь к исходному файлу реализации. Вектор символов или скаляр строки могут включать лексемы. Например, в маркерном $mytoken$
, mytoken
является переменной, заданной как вектор символов или скаляр строки в рабочем пространстве MATLAB или как функция MATLAB на пути поиска файлов, который возвращает вектор символов.
Пример: 'ImplementationSourcePath',''
'ImplType'
— Задает тип записи'FCN_IMPL_FUNCT'
(значение по умолчанию) | 'FCN_IMPL_MACRO'
Используйте FCN_IMPL_FUNCT
для функции или FCN_IMPL_MACRO
для макроса.
Пример: 'ImplType','FCN_IMPL_FUNCT'
'Key'
— Задает имя функции, чтобы заменитьЗначение ключа задает имя функции, чтобы заменить. Имя должно совпадать с именем функции, перечисленным в Коде, который Можно Заменить из кода MATLAB или Кода, который Можно Заменить Из Моделей Simulink.
Пример: 'Key','sqrt'
'Priority'
— Задает поисковый приоритет для функциональной записи100
(значение по умолчанию) | целое число 0.. 100Значение Priority
задает поисковый приоритет для функциональной записи относительно других записей того же имени функции и концептуального списка аргументов в рамках этой таблицы. Самый высокий приоритет 0, и самый низкий приоритет равняется 100. Если таблица обеспечивает две реализации для функции, реализацию с более высокими приоритетными тенями та с более низким приоритетом.
Пример: 'Priority',100
'RoundingModes'
— Определение округления режимов поддержано функцией реализации'RTW_ROUND_UNSPECIFIED'
(значение по умолчанию) | 'RTW_ROUND_FLOOR'
| 'RTW_ROUND_CEILING'
| 'RTW_ROUND_ZERO'
| 'RTW_ROUND_NEAREST'
| 'RTW_ROUND_NEAREST_ML'
| 'RTW_ROUND_SIMPLEST'
| 'RTW_ROUND_CONV'
| массив векторов символов | массив строкЗначение RoundingModes
задает один или несколько округляющихся режимов, поддержанных функцией реализации.
Пример: 'RoundingModes',{'RTW_ROUND_UNSPECIFIED'}
'SaturationMode'
— Определение режима насыщения поддержано функцией реализации'RTW_SATURATE_UNSPECIFIED'
(значение по умолчанию) | 'RTW_SATURATE_ON_OVERFLOW'
| 'RTW_WRAP_ON_OVERFLOW'
Значение SaturationMode
задает режим насыщения, поддержанный функцией реализации.
Пример: 'SaturationMode','RTW_SATURATE_UNSPECIFIED'
'SideEffects'
— Задает, попытаться ли оптимизировать далеко функцию реализацииfalse
(значение по умолчанию) | true
Значение SideEffects
отмечает генератор кода, чтобы не оптимизировать далеко функцию реализации, описанную этой записью. Этот параметр применяется к функциям реализации, которые возвращают void
, но не должны быть оптимизированы далеко, такие как реализация memcpy
или функция реализации та глобальная память доступов значения. Для тех реализация функционирует только, необходимо включать этот параметр и задать значение true
.
Пример: 'SideEffects',false
'StoreFcnReturnInLocalVar'
— Задает, сохранить ли функцию реализации невнимательные настройки сворачивания выраженияfalse
(значение по умолчанию) | true
Значение StoreFcnReturnInLocalVar
отмечает генератор кода, что возвращаемое значение функции реализации, описанной этой записью, должно храниться в локальной переменной независимо от других настроек сворачивания выражения. Если значением является false
, другие настройки сворачивания выражения определяют, свернуто ли возвращаемое значение. Хранение функции возвращается в локальной переменной, может увеличить ясность сгенерированного кода. Этот пример показывает код, сгенерированный со сворачиванием выражения:
void sw_step(void) { if (ssub(sadd(sw_U.In1, sw_U.In2), sw_U.In3) <= smul(ssub(sw_U.In4, sw_U.In5),sw_U.In6)) { sw_Y.Out1 = sw_U.In7; } else { sw_Y.Out1 = sw_U.In8; } }
С набором StoreFcnReturnInLocalVar
к true
сгенерированный код потенциально легче понять и отладить:
void sw_step(void) { real32_T rtb_Switch; real32_T hoistedExpr; ...... rtb_Switch = sadd(sw_U.In1, sw_U.In2); rtb_Switch = ssub(rtb_Switch, sw_U.In3); hoistedExpr = ssub(sw_U.In4, sw_U.In5); hoistedExpr = smul(hoistedExpr, sw_U.In6); if (rtb_Switch <= hoistedExpr) { sw_Y.Out1 = sw_U.In7; } else { sw_Y.Out1 = sw_U.In8; } }
Пример: 'StoreFcnReturnInLocalVar',false
addAdditionalHeaderFile
| addAdditionalIncludePath
| addAdditionalLinkObj
| addAdditionalLinkObjPath
| addAdditionalSourceFile
| addAdditionalSourcepath
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.