warning missing prototypes, missing declarations
C언어,ARM / 2019. 4. 27. 23:04
warning missing prototypes
warning missing declarations
-Wmissing-prototypes
-Wmissing-declarations
모든 함수는 정의되어야한다.(헤더파일을 include해야한다.)
*.c, *.cpp파일에서 함수를 만들었으나, *.h파일에는 빠진 경우.
문제점 : 정의가 필요치 않은 함수들도 모두 정의해야한다.
불필요한 코딩일 수 있다.
예) main.c 파일에서 여러가지 함수를 만들어 사용했는데, 이 경고 때문에 많은 함수를 *.h에 넣는것처럼
한줄씩 더 넣어야한다.
void f1(); <<=== 이렇게
void f1()
{
...
}
반대입장(필요하다는 입장) :
예) *.c파일에 void aaaa(void)함수를 만들었지만, 한번도 사용하지 않는 경우,
이 경고메세지는 이 함수들을 찾아낸다.
이는 컴파일러가 소스의 모든 함수들을 그대로 컴파일된 바이너리에 넣는 경우, 도움이 된다.
또한, 비슷한 이름의 함수명을 잘못 사용할 경우, 이 경고가 효과가 있다.
양날의 검. 필요할 수 도 있지만, 너무 많은 댓가를 지불해야한다.
'C언어,ARM' 카테고리의 다른 글
Browse information of one or more files is not available (0) | 2019.05.11 |
---|---|
unknown type name 'size_t' (0) | 2019.05.04 |
warning: function declaration isn't a prototype (0) | 2019.04.27 |
C언어 - 안전한 코딩 방법 (0) | 2017.01.22 |
C언어 - 컴파일러 코드 최적화 방법 분석 (0) | 2017.01.21 |