Reglas de importación de la estructura de lenguaje C o C++

El Editor de enlaces de sucesos importa estructuras de datos de C y C++ utilizando las reglas siguientes.

Los nombres de campo de C y C++ se visualizan de acuerdo con las siguientes reglas:
  1. Los caracteres que no son válidos en nombres de elemento XML se sustituyen por 'X'.

    Por ejemplo, monthly-total se convierte en monthlyXtotal.

  2. Los nombres duplicados se convierten en exclusivos añadiendo uno o más dígitos numéricos.

    Por ejemplo, dos instancias de year se convierten en year y year1.

También se aplican las restricciones siguientes:

  • Los archivos de cabecera deben contener una instancia struct de nivel superior.
  • No puede declarar un tipo de estructura que se contenga a sí misma como miembro.
  • Los siguientes tipos de datos C y C++ no se soportan:
    • decimal
    • long double
    • wchar_t (sólo C++)
  • Los siguientes caracteres se omiten si existen en la archivo de cabecera.
    Especificadores de clase de almacenamiento:
    • auto
    • register
    • static
    • extern
    • mutable
    Calificadores
    • const
    • volatile
    • _Export (sólo C++)
    Especificadores de función
    • inline (sólo C++)
    • virtual (sólo C++)
    Valores iniciales
  • El archivo de cabecera no debe contener estos elementos:
    • Uniones
    • Declaraciones de clases
    • Tipos de datos de enumeración
    • Variables de tipo de puntero
    • Declaraciones de plantillas
    • Macros predefinidas; es decir, macros con nombres que empiezan y finalizan con dos caracteres de subrayado (__)
    • La secuencia de continuación de líneas (un símbolo \ seguido inmediatamente por un carácter de línea nueva)
    • Declaradores de función prototipo
    • Directivas de preprocesador
    • Campos de bits
    • La palabra clave __cdecl (o _cdecl) (sólo C++)
  • No se soportan las siguientes palabras clave de C++ reservadas:
    • explicit
    • using
    • namespace
    • typename
    • typeid