728x90
반응형
오늘은 리눅스에서 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>만 소스코드에 추가한다면 위의 에러는 뜨지 않습니다.
728x90
반응형
'프로그래밍 > C' 카테고리의 다른 글
[C] 배열(array)과 연결리스트(linked list) (0) | 2019.06.19 |
---|---|
[C] 소켓 종료 함수 close, shutdown (0) | 2018.09.01 |
[C] _AT_ 키워드 (0) | 2018.08.01 |
[C]curl 라이브러리 curl_easy_setopt() 옵션 정보(2) (0) | 2018.05.30 |
[C]curl 라이브러리 curl_easy_setopt() 옵션 정보(1) (0) | 2018.05.29 |