Anotar structs y clases
Puede anotar el struct y miembros de clase mediante las anotaciones que actúan como invariants- se supone para ser true en cualquier llamada de función o funcionan entrada/salida que implica la estructura que agrega como un parámetro o valor de resultado.
Anotaciones de Struct y Clase
Anotaciones |
Descripción |
---|---|
_Field_range_(low, high) |
El campo está en el intervalo (incluido) de low a high.El equivalente a _Satisfies_(_Curr_ >= low && _Curr_ <= high) aplicado al objeto anotado mediante el adecuado pre o condiciones de envío. |
_Field_size_(size) _Field_size_opt_(size) _Field_size_bytes_(size) _Field_size_bytes_opt_(size) |
Un campo que tiene un tamaño programable en elementos (o bytes) según lo especificado por size. |
_Field_size_part_(size, count) _Field_size_part_opt_(size, count) _Field_size_bytes_part_(size, count) _Field_size_bytes_part_opt_(size, count) |
Un campo que tiene un tamaño programable en elementos (o bytes) según lo especificado por size, y count de esos elementos (bytes) que son legibles. |
_Field_size_full_(size) _Field_size_full_opt_(size) _Field_size_bytes_full_(size) _Field_size_bytes_full_opt_(size) |
Un campo con tamaño legible y programable en elementos (o bytes) según lo especificado por size. |
_Struct_size_bytes_(size) |
Se aplica a struct o la declaración de clase.Indica que un objeto válido de ese tipo puede ser mayor que el tipo declarado, con el número de bytes especificados por size.Por ejemplo:
El tamaño del búfer en bytes de un parámetro pM de tipo MyStruct * se supone que es:
|
Vea también
Referencia
Anotar parámetros de función y valores devueltos
Anotar el comportamiento de funciones
Anotar comportamiento de bloqueo
Especificar cuándo y dónde se aplica una anotación
Procedimientos recomendados y ejemplos (SAL)
Conceptos
Otros recursos
Utilizar anotaciones SAL para reducir defectos de código de C/C++