Structs et classes d'annotation
Vous pouvez annoter la structure et les membres de classe en utilisant des annotations qui agissent comme invariants- ils sont présumés pour être true à un appel de fonction ou fonctionnent l'entrée/sortie qui implique la structure englobante comme paramètre ou une valeur de résultat.
Annotations de structure et de classe
Annotation |
Description |
---|---|
_Field_range_(low, high) |
Le champ est dans la plage (inclusifs) de low à high.L'équivalent à _Satisfies_(_Curr_ >= low && _Curr_ <= high) s'est appliqué à l'objet annoté en utilisant l'approprié pre ou les états de publication. |
_Field_size_(size) _Field_size_opt_(size) _Field_size_bytes_(size) _Field_size_bytes_opt_(size) |
Un champ qui a une taille accessible en écriture dans des éléments (ou les octets) comme spécifié par 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 champ qui a une taille accessible en écriture dans des éléments (ou les octets) comme spécifié par size, et count de ces éléments (octets) qui sont lisibles. |
_Field_size_full_(size) _Field_size_full_opt_(size) _Field_size_bytes_full_(size) _Field_size_bytes_full_opt_(size) |
Un champ qui a une taille lisible et accessible en écriture dans des éléments (ou les octets) comme spécifié par size. |
_Struct_size_bytes_(size) |
S'applique au struct ou à la déclaration de classe.Indique qu'un objet valide de ce type peut être plus grand que le type déclaré, avec le nombre d'octets spécifié par size.Par exemple :
La taille de mémoire tampon en octets d'un paramètre pM de type MyStruct * est ensuite prise pour être :
|
Voir aussi
Référence
Annotation de paramètres de fonction et valeurs de retour
Annotation du comportement d'une fonction
Annotation du comportement de verrouillage
Spécification du moment où une annotation est applicable et dans quel cas
Meilleures pratiques et exemples (SAL)
Concepts
Autres ressources
Utilisation d'annotations SAL pour réduire les défauts du code C/C++