안녕하세요 한주현입니다.
오늘은 C언어 컴파일 때 발생하는 경고인
incompatible.c:2:3: warning: incompatible implicit declaration of built-in function
를 해결하는 방법에 대해 알아보겠습니다.
incompatible.c:2:3: warning: incompatible implicit declaration of built-in function - 문제 상황
C로 다음과 같은 스크립트를 작성하고 컴파일 해봅시다.
1
2
3 |
void main(){
printf("Hello world\n");
} |
cs |
1
2
3
4 |
$ gcc incompatible.c -o incompatible.exe
incompatible.c: In function ‘main’:
incompatible.c:2:3: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default]
printf("Hello world\n"); |
cs |
컴파일을 해보니 뭔가 깔끔하지 않고 메시지들이 나옵니다.. ??
warning 이라고 하면서 나오는것 같긴한데,
컴파일된 파일을 실행해보니
1
2 |
$ ./incompatible.exe
Hello world |
cs |
잘 되는것 같긴 합니다.... ㅎㅎ 만 뭔가 찜찜하군요
그러므로 우리는 그냥 넘어가서는 안되겠죠?
warning: incompatible implicit declaration ... 의 경고가 나는 이유는
대부분 정의되지 않은 함수를 사용하였기 때문입니다.
다시 경고가 나온 부분을 보시죠
incompatible implicit declaration of built-in function ‘printf’
printf 함수는 stdio.h 에 정의되어 있습니다.
이를 사용하기 위해서는
소스코드 첫 줄에
1 |
#include <stdio.h> |
cs |
를 적어주심 됩니다.
간단한 것인데 의외로 헤맬 수 있는 부분이지요.. ㅎㅎ
위의 예시를 하나의 코드에 담으면 아래와 같습니다.
1
2
3
4
5 |
#include <stdio.h>
void main(){
printf("Hello world\n");
} |
cs |
오늘은 C언어 컴파일 시 발생하는 경고메시지인
incompatible.c:2:3: warning: incompatible implicit declaration of built-in function
를 해결하는 과정에 대하여 알아봤습니다.
그럼 다음시간에 만나요~
'컴퓨터 > C & C++' 카테고리의 다른 글
[vscode] m1 mac에서 vscode c++ debugger 사용하기 (1) | 2023.06.24 |
---|---|
[C언어] 문자열의 길이 구하기 - strlen (0) | 2017.11.06 |
[C언어] 현재 날짜, 시간 출력 - time.h C 표준 라이브러리 (2) | 2017.11.05 |
[C언어] 정수 포인터 사용방법 (0) | 2017.11.05 |
[C언어] 002. C 언어 기본 문법 syntax (0) | 2017.10.17 |
댓글