4.3.9. __attribute__((nonnull))

이 함수 속성은 null 포인터가 될 수 없는 함수 매개 변수를 지정합니다. 이 속성을 사용하면 컴파일러에서 그러한 매개 변수가 발견될 경우 경고를 생성합니다.

Note

이 함수 속성은 ARM 컴파일러에서 지원하는 GNU 컴파일러 확장입니다.

구문

__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));
Copyright © 2007-2009 ARM Limited. All rights reserved.ARM DUI 0348BK
Non-Confidential