exponenta event banner

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

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

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