2017-11-29 24 views
2

매크로를 많이 사용하는 단위 테스트 (어쩌면 부스트 테스트 라이브러리 사용)로 인해 프로젝트 컴파일 속도가 느립니다. gcc -ftime-report에서 전처리 시간 비용이 높음을 보여줍니다. 이 속도를 최적화 할 수있는 방법이 있습니까?gcc에서 매크로 사전 처리를 빠르게하는 방법은 무엇입니까?

+0

미리 컴파일 된 헤더를 볼 수 있습니다. –

+2

매크로를 많이 사용하는 경우 전 처리기가 더 많은 작업을 수행해야합니다. 매크로 확장/대체가 전처리 기의 역할이기 때문에 코드 나 매크로, 또는 매크로를 사용하는 방법에 대한 정보가 없으면 (과도한 매크로 사용으로 인해 전 처리기가 더 어려워집니다.) 유용한 조언을하는 것은 불가능합니다. 일반적인 해결책은 매크로 사용을 피하십시오. 그러나 대안은 비용이 많이 듭니다. 예를 들어 반복적 인 코드 작성 (노동 집약적, 오류가 쉽게 발생) 또는 다른 기술 (템플릿 등)을 사용하여 사전 처리 후 더 많은 작업을 수행 할 수 있습니다. – Peter

답변

1

정말 당신의 매크로에 따라 달라집니다,하지만 당신은 캐치를 사용한다면 당신은 그들에게 예를 들어

을 확장 일반적인 생각이 횟수를 줄이는 것입니다, 좋은 아이디어는 테스트 스위트의 공통 부분을 넣어하는 것입니다 별도의 공유 파일 ( https://github.com/catchorg/Catch2/blob/master/docs/tutorial.md#scaling-up)에 저장하십시오.

나는 부스트 테스트 라이브러리를 사용한 적이 없지만 비슷한 제안 (http://www.boost.org/doc/libs/1_42_0/libs/test/doc/html/utf/usage-recommendations/generic.html)을 제공합니다.