|
Pre컴파일 거의 모든 Header파일을 include 하면..
사실 전혀 과련이 없는 cpp에서도 모두 참조하게 되니..
header한개만 수정해도 전체 빌드해야 하는 문제가 생깁니다.
컴파일 속도 향상을 하려면..
방법1.
가능한 코드를 서로 참조없이 작성하는것이 좋습니다.(결합도를 낮추는 것이죠)
한쪽 유닛의 Header를 수정해도 , 프로젝트 내 다른 유닛에 가능한 전혀 영향을 미치지 않고록..
==> 근데 이게 말은 간단해도 쉽지는 않습니다.
참조할때는..
인터페이스용 상위 클래스를 구현하고 실제 유닛은 상속받아서 구현한더던가..
이벤트를 만들어서 구현한다던가...
방법은 알아도 잘 하지 못하는 경우가 많고, 범용적으로 설계하기도 쉽지 않고.. 그렇더군요
방법2.
컴파일 가속기를 이용해 보세요
제 Pc의 cpu 코어는 4개가 있는데.. 기본 컴파일러는 1개의 코어로만으로 컴파일 하더군요
그것도 cpu를 최대한 사용하지도 않구..
Enhancements 는 써보지 않아서 잘 모르겠구요
저희회사는 TwineCompile를 씁니다.
가격은 좀하는데(개인 15만 , 싸이트 라이선스 150만 정도)
성능은 좋습니다.
방법3. Pre컴파일 해더를 잘 구성한다.
앞에 얘기했듯이 예전에 저도 써서 해봤는데요
잘 못하면 안하니만 못하더군요
그럼..
컴파일 시간 님이 쓰신 글 :
: 아래 컴파일 시간 문의를 드렸었는데요 Pre컴파일을 쓰면 빨라진다는 답변을 듣고
:
: 기본적으로 제공해주는 라이브리리와 구현이 끝난 헤더 파일 등 거의 대부분 #include를
:
: precompile.h를 만들어 다 넣은담에 이파일은 생성하고 사용으로 옵션을 주고
:
: 나머지는 사용하지만 생성하지 않는다는 옵션을 주고 컴파일을 해보았지만 전혀 줄어들지 않고 똑같이 1시간 가까이 걸리더군요
:
: 그래서 찾은게 프리컴파일 위자드라는게 있어서 그것도 해보았지만 시간은 똑같았구요
:
: C++ Compiler Enhancements 2.79 이런 프로그램이 있더라고요
:
: 혹시 이거 사용해보신분 제가 빌더 2009 2010 XE를 쓰고있는데 3버전을 다 지원을 하는지 궁금하네요
:
: 이게 지원한다는 버전은 2006 이상이라고는 되있지만 마지막 수정한 일자가 2008년이라 그게 궁금하네요
:
: 혹시 컴파일 시간이 1시간 정도 걸리는분중에 시간 단축 하신분 비법좀 알려주십시요 ㅠㅠ
|