우리 팀은 무엇인가 크고 복잡한 제품을 리뷰하고 굴절식하도록 지정되었습니다. 현재 레포에는 사용되지 않은 파일이 많이 있습니다. 어떤 파일이 사용되고 어떤 파일이 아닌지 파악해야합니다.모든 중고 소스 목록보기
빌드 시스템 (make)이 제품을 컴파일하는 데 사용되는 모든 소스 및 헤더 파일을 쉽게 얻을 수있는 방법이 있습니까?
우리 팀은 무엇인가 크고 복잡한 제품을 리뷰하고 굴절식하도록 지정되었습니다. 현재 레포에는 사용되지 않은 파일이 많이 있습니다. 어떤 파일이 사용되고 어떤 파일이 아닌지 파악해야합니다.모든 중고 소스 목록보기
빌드 시스템 (make)이 제품을 컴파일하는 데 사용되는 모든 소스 및 헤더 파일을 쉽게 얻을 수있는 방법이 있습니까?
소스를 .C 및 .CPP 파일로 참조하는 경우 빌드 시스템이 맵 파일을 생성하는지 확인해야합니다. 정규식으로 맵 파일을 구문 분석하여 모든 .o 파일을 찾을 수 있습니다. 이렇게하면 모든 소스 파일의 이름이 제공됩니다.
헤더 파일은 #include 행에 대한 grep로 찾을 수 있습니다.
편집 :
GCC는 출력 할 수 -M
또는 -MM
옵션 종속성. 이 파일들을 분석 할 수 있습니다. makefile이 GCC를 호출하면 CFLAGS를 변경하여 해당 파일을 만들 수 있습니다. 다른 컴파일러가이 기능을 제공하는 경우 컴파일러에 따라 다릅니다.
불행히도 코드베이스는 피를 엉망으로 만든 것입니다. 중복 파일과 정교한 메이크 파일 때문에 파일을 그릴 때 고통 스러울 것입니다. 가능하다면 모든 것이 해결 된 후에 컴파일러에서 직접 정보를 얻고 싶습니다. – Kentzo
컴파일러에 종속 생성 매개 변수를 추가해보십시오. G ++에는 Makefile 형식으로 각 파일의 종속성을 생성 할 수있는 -M * 옵션 세트가 있습니다. 나는 그것을 많이 사용하지 않았기 때문에 당신이해야 할 일을 정확히 말하지는 않겠지 만 아마도 -MP
은 당신의 문제에 대해 유망 해 보일지도 모른다. ...
.ddd와 같은 멋진 확장명으로 저장하면, 그리고 어딘가에 그들을 축적하는 스크립트를 작성하십시오.
'찾기. -name "* .c"' –
@ TheParamagneticCroissant 저장소에서 사용되지 않는 파일은 어떻습니까? Kentzo가 거기에 있으면 안되는'* .c '를 찾고 싶어하는 것 같습니다. – harper
@ 하퍼 Excactly. 소스는 실제로 쉽습니다 (답안에 기록한대로). 나는 머리말을위한 해결책을 필요로한다. – Kentzo