Ключевые слова генератора зарезервированы для внутреннего использования. Не используйте их в моделях в качестве идентификаторов или имен функций. Также избегайте использования зарезервированных ключевых слов C в моделях в качестве идентификаторов или имен функций. Если модель содержит зарезервированные ключевые слова, создание кода не завершается, и появляется сообщение об ошибке. Чтобы устранить ошибку, измените модель, чтобы использовать нерезервированные идентификаторы или имена.
При использовании генератора кода для создания кода C++ модель не должна содержать зарезервированных ключевых слов для генерации кода или зарезервированных ключевых слов C++.
Примечание
В среде Simulink ® можно зарегистрировать дополнительные зарезервированные идентификаторы. Дополнительные сведения см. в разделе Указание зарезервированных имен для сгенерированных идентификаторов.
auto | double | int | struct |
break | else | long | switch |
case | enum | register | typedef |
char | extern | return | union |
const | float | short | unsigned |
continue | for | signed | void |
default | goto | sizeof | volatile |
do | if | static | while |
catch | friend | protected | try |
class | inline | public | typeid |
const_cast | mutable | reinterpret_cast | typename |
delete | namespace | static_cast | using |
dynamic_cast | new | template | virtual |
explicit | operator | this | wchar_t |
export | private | throw |
abs | int8_T | MAX_uint8_T* | rtInf |
asm | int16_T | MAX_uint16_T* | rtMinusInf |
bool | int32_T | MAX_uint32_T* | rtNaN |
boolean_T | int64_T | MAX_uint64_T | SeedFileBuffer |
byte_T | INTEGER_CODE | MIN_int8_T* | SeedFileBufferLen |
char_T | LINK_DATA_BUFFER_SIZE | MIN_int16_T* | single |
cint8_T | LINK_DATA_STREAM | MIN_int32_T* | TID01EQ
|
cint16_T | localB | MIN_int64_T | time_T |
cint32_T | localC | MODEL | true |
creal_T | localDWork | MT | uint_T |
creal32_T | localP | NCSTATES | uint8_T |
creal64_T | localX | NULL | uint16_T |
cuint8_T | localXdis | NUMST | uint32_T |
cuint16_T | localXdot | pointer_T | uint64_T |
cuint32_T | localZCE | PROFILING_ENABLED
| UNUSED_PARAMETER |
ERT | localZCSV | PROFILING_NUM_SAMPLES | USE_RTMODEL
|
false | matrix | real_T | VCAST_FLUSH_DATA |
fortran | MAX_int8_T* | real32_T | vector |
HAVESTDIO | MAX_int16_T* | real64_T | |
id_t | MAX_int32_T* | RT | |
int_T | MAX_int64_T | RT_MALLOC | |
| * Не зарезервировано, если указан идентификатор замены. | |||
Список зарезервированных ключевых слов библиотеки замены кода для среды разработки зависит от того, какие библиотеки зарегистрированы. Список доступных библиотек замены кода зависит от других установленных продуктов (например, целевого продукта) или от того, использовался ли Embedded Coder ® для создания и регистрации пользовательских библиотек замены кода.
Чтобы создать список зарезервированных ключевых слов для библиотек, зарегистрированных в вашей среде, используйте следующую функцию MATLAB ®:
lib_ids = RTW.TargetRegistry.getInstance.getTflReservedIdentifiers()
Эта функция возвращает массив ключевых слов библиотеки. Указание входного аргумента является необязательным.
Примечание
Для вывода списка библиотек, зарегистрированных в среде, используйте команду MATLAB crviewer.
Чтобы создать список зарезервированных ключевых слов для определенной библиотеки, используемой для создания кода, вызовите функцию, передающую имя библиотеки, как показано в меню Библиотека замены кода (Code replacement library) на панели Создание кода (Code Generation) > Интерфейс (Interface) диалогового окна Параметры конфигурации (Configuration Parameters). Например,
lib_ids = RTW.TargetRegistry.getInstance.getTflReservedIdentifiers('GNU C99 extensions')Вот частичный пример вывода функции:
>> lib_ids = ...
RTW.TargetRegistry.getInstance.getTflReservedIdentifiers('GNU C99 extensions')
lib_ids =
'exp10'
'exp10f'
'acosf'
'acoshf'
'asinf'
'asinhf'
'atanf'
'atanhf'
...
'rt_lu_cplx'
'rt_lu_cplx_sgl'
'rt_lu_real'
'rt_lu_real_sgl'
'rt_mod_boolean'
'rt_rem_boolean'
'strcpy'
'utAssert'Примечание
Некоторые из возвращенных ключевых слов отображаются с суффиксом $N, например, 'rt_atan2$N'. $N расширяется в суффикс _snf только если поддерживаются нефинитные номера. Например, 'rt_atan2$N' представляет 'rt_atan2_snf' если поддерживаются нефинитные номера и 'rt_atan2' если не поддерживаются конечные номера. В качестве меры предосторожности следует рассматривать обе формы ключевого слова как зарезервированные.