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