AttributeNonNull

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu C++-Audits


Beschreibung

Prüft auf als Argumente an eine Funktion übergebene Null-Zeiger, deren Argumente mit dem Attribut nonnull gekennzeichnet sind.

Zur Unterstützung des AttributeNonNull-Audits können Sie das Attribut nonnull in Funktionsdeklarationen verwenden:

 __attribute__((nonnull(arg_number, ...)))

Hier bezeichnet arg_number, ... Argumentnummern, die keine Null-Zeiger übergeben sollten. Wenn arg_number nicht angegeben ist, werden alle Zeigerargumente als nonnull behandelt.

Beispiel:

 void * my_copy (void *destination, const void *source, int length)
            __attribute__((nonnull (1, 2)));

Diese Deklaration definiert, dass in Aufrufen von my_copy die Argumente destination und source Nicht-NULL sein sollen. Wenn das Audit AttributeNonNull feststellt, dass ein Null-Zeiger in den Argumenten destination oder source übergeben wird, dann erzeugt das Audit AttributeNonNull diesen Verstoß in my_copy.

Hinweis: Das Attribut nonnull wird nur in C++-Audits unterstützt und vom C++Builder-Compiler ignoriert.


Siehe auch