Ключевые слова генератора зарезервированы для внутреннего использования. Не используйте их в моделях как идентификаторы или имена функции. Также избегайте использования 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 диалогового окна Параметры конфигурации. Для примера,
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' нефинитные числа если нефинитные числа не поддерживаются. В качестве меры предосторожности следует рассматривать обе формы ключевого слова как зарезервированные.