10.43 __attribute__((nonnull)) 関数属性

この関数属性は、NULL ポインタをサポートしない関数パラメータを指定します。該当するパラメータが検出されたときにコンパイラから警告を生成することができます。

構文

__attribute__((nonnull[(arg-index, ...)]))
[(arg-index, ...)] は、オプションの引数インデックスリストを示します。
引数インデックスリストが指定されなかった場合、すべてのポインタ引数が nonnull としてマークされます。

以下の宣言は等価です。
void * my_memcpy (void *dest, const void *src, size_t len) __attribute__((nonnull (1, 2)));
void * my_memcpy (void *dest, const void *src, size_t len) __attribute__((nonnull));
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.