warning: implicit declaration of function

acidd15의 이미지

위 경고 메시지는 -Wall을 했을때 나타나는 경고 메시지 입니다.어떤경우에만 발생하나요?..

nthroot의 이미지

해석 그대로 선언되지 않고 사용중이라는 내용입니다.

[nthroot@madnom nthroot]$ cat z.c
int main()
{
        exit(0);
}
[nthroot@madnom nthroot]$ gcc z.c -Wall
z.c: In function `main':
z.c:3: warning: implicit declaration of function `exit'
[nthroot@madnom nthroot]$

exit()의 프로토타입이 선언된 stdlib.h 를 include 하지 않았지만 컴파일러는 Warning 메세지를 나타내곤 알아서 컴파일을 합니다.
유저 정의 함수를 사용할때도 함수만 정의하고 선언하지 않고 사용하면 역시 같은 Warning 가 발생합니다.

자세한건 검색해보면 많이 나올것 같네요.

------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.