2014-10-24 5 views
0

우리 팀은 무엇인가 크고 복잡한 제품을 리뷰하고 굴절식하도록 지정되었습니다. 현재 레포에는 사용되지 않은 파일이 많이 있습니다. 어떤 파일이 사용되고 어떤 파일이 아닌지 파악해야합니다.모든 중고 소스 목록보기

빌드 시스템 (make)이 제품을 컴파일하는 데 사용되는 모든 소스 및 헤더 파일을 쉽게 얻을 수있는 방법이 있습니까?

+0

'찾기. -name "* .c"' –

+0

@ TheParamagneticCroissant 저장소에서 사용되지 않는 파일은 어떻습니까? Kentzo가 거기에 있으면 안되는'* .c '를 찾고 싶어하는 것 같습니다. – harper

+0

@ 하퍼 Excactly. 소스는 실제로 쉽습니다 (답안에 기록한대로). 나는 머리말을위한 해결책을 필요로한다. – Kentzo

답변

1

소스를 .C 및 .CPP 파일로 참조하는 경우 빌드 시스템이 맵 파일을 생성하는지 확인해야합니다. 정규식으로 맵 파일을 구문 분석하여 모든 .o 파일을 찾을 수 있습니다. 이렇게하면 모든 소스 파일의 이름이 제공됩니다.

헤더 파일은 #include 행에 대한 grep로 찾을 수 있습니다.

편집 :

GCC는 출력 할 수 -M 또는 -MM 옵션 종속성. 이 파일들을 분석 할 수 있습니다. makefile이 GCC를 호출하면 CFLAGS를 변경하여 해당 파일을 만들 수 있습니다. 다른 컴파일러가이 기능을 제공하는 경우 컴파일러에 따라 다릅니다.

+0

불행히도 코드베이스는 피를 엉망으로 만든 것입니다. 중복 파일과 정교한 메이크 파일 때문에 파일을 그릴 때 고통 스러울 것입니다. 가능하다면 모든 것이 해결 된 후에 컴파일러에서 직접 정보를 얻고 싶습니다. – Kentzo

0

컴파일러에 종속 생성 매개 변수를 추가해보십시오. G ++에는 Makefile 형식으로 각 파일의 종속성을 생성 할 수있는 -M * 옵션 세트가 있습니다. 나는 그것을 많이 사용하지 않았기 때문에 당신이해야 할 일을 정확히 말하지는 않겠지 만 아마도 -MP은 당신의 문제에 대해 유망 해 보일지도 모른다. ...

.ddd와 같은 멋진 확장명으로 저장하면, 그리고 어딘가에 그들을 축적하는 스크립트를 작성하십시오.

관련 문제