Udostępnij za pośrednictwem


Dodawanie adnotacji struktur i klas

Można dodawać adnotacje struct i klasy członków za pomocą adnotacji, które działają jak niezmienny — jest uważana 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 bajtów) jako określonej 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 bajtów) jako określonej przez sizei count z elementów (w bajtach), które są czytelne.

_Field_size_full_(size)

_Field_size_full_opt_(size)

_Field_size_bytes_full_(size)

_Field_size_bytes_full_opt_(size)

Pola, którego rozmiar odczytu i do zapisu w elementy (lub bajtów) jako określonej przez size.

_Struct_size_bytes_(size)

Dotyczy deklaracji struct lub class.Wskazuje 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:

typedef _Struct_size_bytes_(nSize)
struct MyStruct {
    size_t nSize;

};
 

Rozmiar buforu w bajtach z parametru pM typu MyStruct * następnie przyjmuje:

min(pM->nSize, sizeof(MyStruct))

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

Funkcje wewnętrzne

Najlepsze praktyki i przykłady (SAL)

Koncepcje

Zrozumienie SAL

Inne zasoby

Za pomocą adnotacji SAL do zmniejszenia wady kod C/C++