1
GCC가 0이 인수로 전달됨을 감지하면 (즉, 컴파일 타임에 가능할 때) GCC가 경고를 발행하도록 코드에 특별한 지침을 추가 할 수 있다고 들었습니다.0을 인수로 전달하면 GCC에서 경고를 발행 할 수 있습니까?
나는 그것을 찾았지만 찾을 수 없었다. 사실입니까?
GCC가 0이 인수로 전달됨을 감지하면 (즉, 컴파일 타임에 가능할 때) GCC가 경고를 발행하도록 코드에 특별한 지침을 추가 할 수 있다고 들었습니다.0을 인수로 전달하면 GCC에서 경고를 발행 할 수 있습니까?
나는 그것을 찾았지만 찾을 수 없었다. 사실입니까?
당신이 널 포인터에 경고하는 데 사용할 수있는 function attribute 있습니다 :
void foo(void *data) __attribute__((nonnull));
int main(void)
{
foo(0);
return 0;
}
$ gcc -Wall -c t.c
t.c: In function ‘main’:
t.c:5:5: warning: null argument where non-null required (argument 1) [-Wnonnull]
나는 내장하지만 정수 유형 0 확인 아무것도 잘 모르는 것 같아요.
리눅스 커널의 다양한 BUILD_BUG_*
매크로에서 사용자의 필요에 맞는 것을 찾을 수 있습니다. 그들은 include/linux/kernel.h
에 있습니다. (Cross-referenced here.)