Dodawanie adnotacji struktur i klas
Dodawanie adnotacji członków struct i klasy za pomocą adnotacji, które działają jak niezmienny — są one uznane za spełniony w każdym wywołaniu funkcji lub funkcji wejścia/wyjścia, który obejmuje strukturę otaczający jako parametr lub wartość wyniku.
Adnotacje struktur i klas
Adnotacja |
Opis |
---|---|
_Field_range_(low, high) |
Pole jest w zasięgu od low do high włącznie. Równoważne z _Satisfies_(_Curr_ >= low && _Curr_ <= high) stosowany do adnotacjami obiektu przy użyciu odpowiednich warunkach pre lub post. |
_Field_size_(size) _Field_size_opt_(size) _Field_size_bytes_(size) _Field_size_bytes_opt_(size) |
Pole, które ma rozmiar zapisywalny w elementy (lub liczbę bajtów) jako określony przez 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) |
Pole, które ma rozmiar zapisywalny w elementy (lub liczbę bajtów) jako określony przez sizei count z elementów, które można odczytać (w bajtach). |
_Field_size_full_(size) _Field_size_full_opt_(size) _Field_size_bytes_full_(size) _Field_size_bytes_full_opt_(size) |
Pole, które ma rozmiar zarówno czytelny i zapisywalny w elementy (lub liczbę bajtów) jako określony przez size. |
_Struct_size_bytes_(size) |
Dotyczy deklaracji struct lub class. Wskazuje, że prawidłowy obiekt tego typu może być większy od deklarowanego typu o liczbie bajtów jest określona przez size. Na przykład:
Rozmiar buforu w bajtach z parametru pM typu MyStruct * następnie przyjmuje:
|
Zobacz też
Informacje
Dodawanie adnotacji do parametrów funkcji i zwracanych wartości
Zachowanie funkcji dodawania adnotacji
Dodawanie adnotacji do zachowania blokującego
Określanie warunków pojawiania się adnotacji
Najlepsze praktyki i przykłady (SAL)
Koncepcje
Inne zasoby
Korzystanie z adnotacji SAL w celu redukowanie defektów kodu C/C++