본문으로 바로가기

[C] incompatible implicit declaration of built-in function

category 프로그래밍/C 2018. 8. 6. 00:01
반응형

오늘은 리눅스에서 c 파일을 컴파일할때 발생하는 에러 중 하나를 알아보겠습니다.


incompatible implicit declaration of built-in function <-- 이 에러입니다.


이 에러는 warning이므로, 무시해도 되지만, warning은 다 잡고 가야겠죠?


괜히 컴파일러가 경고를 주는게 아닙니다.


이 에러가 뜨는 이유는 정의되지 않은 함수를 썼을 때 뜨는 에러입니다.


 

 

 



간단히 코드 하나를 짜보겠습니다.


==============================


int main()

{

printf("Hello World!\n");


return 0;

}


==============================


이 소스를 컴파일 해보면 위와 같은 에러가 뜹니다.


컴파일은 되지만, 뭔가 좀 불안하죠?


바로 printf의 헤더파일이 없기 때문입니다.


 

 

 



printf가 정의 되지 않았기 때문에 경고가 뜹니다.


printf는 표준 출력 함수기 때문에, 컴파일러에서 정의를 하지 않아도 인식을 하지만, 정의를 하는 게 올바른 방법입니다.


printf는 <stdio.h> 에 정의 되어 있습니다.


#include <stdio.h>만 소스코드에 추가한다면 위의 에러는 뜨지 않습니다.

반응형

댓글을 달아 주세요