Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A SAL-ban egy kifejezés lehet C/C++ kifejezés, feltéve, hogy olyan kifejezés, amely nem tartalmaz mellékhatásokat – például ++, --, és függvényhívások mindegyikének mellékhatása van ebben a kontextusban. Az SAL azonban biztosít néhány függvényszerű objektumot és néhány fenntartott szimbólumot, amelyek SAL-kifejezésekben használhatók. Ezeket belső függvényeknek nevezzük.
Általános cél
Az alábbi instrinsic függvényjegyzetek általános segédprogramot biztosítanak a SAL-hoz.
| Jegyzetelés | Leírás |
|---|---|
_Curr_ |
A jelenleg jegyzetelt objektum szinonimája. Ha a _At_ széljegyzet használatban van, akkor a _Curr_ ugyanaz, mint a _At_ első paramétere. Ellenkező esetben ez a paraméter vagy a teljes függvény/visszatérési érték, amelyhez a széljegyzet lexikálisan társítva van. |
_Inexpressible_(expr) |
Olyan helyzetet fejez ki, amelyben a puffer mérete túl összetett ahhoz, hogy széljegyzetkifejezéssel jelöljön – például ha egy bemeneti adatkészlet beolvasásával, majd a kijelölt tagok számlálásával számítják ki. |
_Nullterm_length_(param) |
param a puffer elemeinek száma a null terminátort nem tartalmazó értékig. Alkalmazható minden olyan pufferre, amely nem aggregátumos, nem üres típusú. |
_Old_(expr) |
Az előfeltételben _Old_ kiértékelt érték a bemeneti értéket expradja vissza. Ha a kiértékelése utófeltételben történik, a függvény visszaadja az értéket expr , mivel az előfeltételben lett volna kiértékelve. |
_Param_(n) |
A n argumentum egy függvényhez, amely az 1 és n közötti tartományban van számozva, és a n egy literális egész számú állandó. Ha a paraméter neve el van nevezve, ez a megjegyzés megegyezik a paraméter név szerinti elérésével.
Jegyzet:n hivatkozhatnak a három pontban meghatározott pozícióparaméterekre, vagy használhatók olyan függvény prototípusokban, ahol a neveket nem használják. |
return |
A C/C++ fenntartott kulcsszó return használható egy SAL-kifejezésben egy függvény visszatérési értékének jelzésére. Az érték csak utólagos állapotban érhető el; szintaktikai hiba, ha az előállapotban használja. |
Sztringspecifikus
A következő belső függvény annotációk lehetővé teszik a karakterláncok kezelését. Mind a négy függvény ugyanazt a célt szolgálja: a null terminátor előtt található típusú elemek számának visszaadása. A különbségek a hivatkozott elemek adattípusai. Vegye figyelembe, hogy ha olyan null értékű puffer hosszát szeretné megadni, amely nem karakterből áll, használja az _Nullterm_length_(param) előző szakasz széljegyzetét.
| Jegyzetelés | Leírás |
|---|---|
_String_length_(param) |
param a sztring elemeinek száma a null terminátort nem tartalmazó értékig. Ez a megjegyzés a karakterláncok típusaihoz van fenntartva. |
strlen(param) |
param a sztring elemeinek száma a null terminátort nem tartalmazó értékig. Ez a széljegyzet karaktertömbökre van fenntartva, és a C Runtime függvény strlen()-éhez hasonlít. |
wcslen(param) |
param a sztring elemeinek száma null terminátorig (de nem beleszámítva). Ez a széljegyzet széles karaktertömbökre van fenntartva, és a wcslen() C futtatókörnyezet függvényhez hasonlít. |
Lásd még
- C/C++ kódhibák csökkentése SAL-széljegyzetek használatával
- A SAL ismertetése
- Függvényparaméterek és visszatérési értékek megjegyzése
- A függvény viselkedésének megjegyzésekkel való ellátása
- Szerkezetek és osztályok jegyzetelése
- A zárolási viselkedés megjegyzésekkel való ellátása
- Meghatározhatja, hogy mikor és hol alkalmazandó egy megjegyzés
- Ajánlott eljárások és példák