코드베이스에서 컴파일되지 않은 함수를 찾고 싶습니다. 컴파일 단위를 포함하여. 내 컴파일러로 gcc를 사용하고있다.사용하지 않는 기능에 대해 경고를받을 수있는 방법이 있습니까?
foo.c
(적절한 foo.h
가정) :
void foo() {
....
}
void bar() {
....
}
main.c
: 여기
#include <stdio.h>
#include "foo.h"
int main(void) {
bar();
return 0;
}
, 나는 약 foo()
이 없다는 경고를 좀하고 싶습니다 익숙한.
-Wunused-function
GCC 옵션이 있습니다 : 정적 함수를 선언하지만 정의 또는 인라인이 아닌 정적 기능이 사용되지 때마다
-Wunused-function
이 경고. 이 경고는 -Wall에 의해 활성화 된 입니다.
정적 기능에만 해당되며 위의 예에서는 경고가 표시되지 않습니다.
가능한 경우 gcc
을 계속 사용하고 싶지만 도구/스크립트/다른 컴파일러 제안을 수락합니다.
기본적으로 사용되지 않는 비 정적 기능에 대해서는 경고하지 않는 것이 좋습니다. 비 정적 함수는 공용 인터페이스의 일부입니다. gcc에서 생성 한 .o 파일을 링커를 통해 쉽게 제공하여 .a 또는 .so 라이브러리를 생성 할 수 있기 때문에 모든 비 정적 함수가 링크 도서관과. 그렇다고해도 여전히 유용한 질문입니다. 유용한 답변을 원합니다. –
물론 기본적으로 켜져 있으면 안됩니다. 아직도, 나는 특징이 존재하는 경우에 마지막 연결 시간에 그것을 가능하게하고 싶으면 :) –
관련 http : //gcc.gnu.org/ml/gcc-help/2003-08/msg00072.html? –