Зарезервированные ключевые слова

Ключевые слова генератора зарезервированы для внутреннего использования. Не используйте их в моделях как идентификаторы или имена функции. Также избегайте использования C-зарезервированных ключевых слов в моделях в качестве идентификаторов или имен функции. Если ваша модель содержит зарезервированные ключевые слова, генерация кода не завершается, и появляется сообщение об ошибке. Чтобы устранить ошибку, измените модель, чтобы использовать идентификаторы или имена, которые не зарезервированы.

Если вы используете генератор кода для производства кода С++, ваша модель не должна содержать Зарезервированные Ключевые Слова для Генерации Кода или C++ Зарезервированные Ключевые Слова.

Примечание

Вы можете зарегистрировать дополнительные зарезервированные идентификаторы в Simulink® окружение. Для получения дополнительной информации смотрите Задать зарезервированные имена для сгенерированных идентификаторов.

Зарезервированные ключевые слова на C

autodoubleintstruct
breakelselongswitch
caseenumregistertypedef
charexternreturnunion
constfloatshortunsigned
continueforsignedvoid
defaultgotosizeofvolatile
doifstaticwhile

C++ Зарезервированные ключевые слова

catchfriendprotectedtry
classinlinepublictypeid
const_castmutablereinterpret_casttypename
deletenamespacestatic_castusing
dynamic_castnewtemplatevirtual
explicitoperatorthiswchar_t
exportprivatethrow 

Зарезервированные ключевые слова для генерации кода

absint8_TMAX_uint8_T*rtInf
asmint16_TMAX_uint16_T*rtMinusInf
boolint32_TMAX_uint32_T*rtNaN
boolean_Tint64_TMAX_uint64_TSeedFileBuffer
byte_TINTEGER_CODEMIN_int8_T*SeedFileBufferLen
char_TLINK_DATA_BUFFER_SIZEMIN_int16_T*single
cint8_TLINK_DATA_STREAMMIN_int32_T*TID01EQ
cint16_TlocalBMIN_int64_Ttime_T
cint32_TlocalCMODELtrue
creal_TlocalDWorkMTuint_T
creal32_TlocalPNCSTATESuint8_T
creal64_TlocalXNULLuint16_T
cuint8_TlocalXdisNUMSTuint32_T
cuint16_TlocalXdotpointer_Tuint64_T
cuint32_TlocalZCEPROFILING_ENABLED UNUSED_PARAMETER
ERTlocalZCSVPROFILING_NUM_SAMPLESUSE_RTMODEL
falsematrixreal_TVCAST_FLUSH_DATA
fortranMAX_int8_T*real32_Tvector
HAVESTDIOMAX_int16_T*real64_T 
id_tMAX_int32_T*RT 
int_TMAX_int64_TRT_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' нефинитные числа если нефинитные числа не поддерживаются. В качестве меры предосторожности следует рассматривать обе формы ключевого слова как зарезервированные.