Annotazioni di struct e classi
È possibile annotare la struttura e i membri della classe utilizzando le annotazioni che operano come invariants- siano vere a qualsiasi chiamata di funzione o funzionano voce/uscita che include la struttura contenitore come parametro o valore.
Annotazioni della classe e di strutture
Annotazione |
Descrizione |
---|---|
_Field_range_(low, high) |
Il campo si trova nell'intervallo che va da low a high (inclusi).Equivalente a _Satisfies_(_Curr_ >= low && _Curr_ <= high) applicate all'oggetto annotato utilizzando l'oggetto appropriato pre o gli stati inviati. |
_Field_size_(size) _Field_size_opt_(size) _Field_size_bytes_(size) _Field_size_bytes_opt_(size) |
Un campo con una dimensione non negli elementi o i byte) come specificato da 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 con una dimensione non negli elementi o i byte) come specificato da sizee count degli elementi (byte) che sono leggibili. |
_Field_size_full_(size) _Field_size_full_opt_(size) _Field_size_bytes_full_(size) _Field_size_bytes_full_opt_(size) |
Un campo che contiene sia dimensione leggibile che modificabile negli elementi o i byte) come specificato da size. |
_Struct_size_bytes_(size) |
Si applica alle strutture o alle dichiarazioni di classi.Indica che un oggetto valido di tale tipo può essere maggiore del tipo dichiarato, con il numero di byte specificati da size.Ad esempio:
La dimensione in byte del buffer di un parametro pM di tipo MyStruct * è presa da:
|
Vedere anche
Riferimenti
Annotazione di parametri di funzione e valori restituiti
Annotazione del comportamento delle funzioni
Annotazione del comportamento di blocco
Specificare dove e quando applicare un'annotazione
Concetti
Altre risorse
Utilizzo delle annotazioni SAL per ridurre gli errori del codice C/C++