자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
C++ Builder 실행파일 크기가 너무 커져서 줄이는 방법을 알고 싶습니다
2014.10.17 02:42
- RAD Studio 2010을 사용하다가 RAD Studio XE6 을 구매하여 XE7롤 업그레이드 한 상태입니다.
- 2010에서 사용하던 프로젝트를 XE7로 빌드하니까 실행파일 크기가 2010에선 1.2메가 정도였던 것이 XE7에서는 9메가 이상으로 커졌습니다.
- 컴파일 환경 변화 치고는 너무 심한 것 같구요. 로딩 시간도 오래걸리고 불편합니다.
-인터넷 검색해서 디버그 옵션 제외, 코드가드 비활성화, RTTI 비활성화, 폼 테마 죽이기 등 별 방법을 다 적용해 봤지만 수십 킬로바이트씩정도의 변화만 있을 뿐 원천적으로 문제를 해결해 주지는 못하였습니다.
- 시스템 특성상 코드가 너무 커지면 로딩시간이라든가 어려운점이 많은데 속시원한 해결 방법 좀 알려주세요.
C++ Builder 실행파일 크기가 너무 커져서 줄이는 방법을 알고 싶습니다
2014.10.17 02:42
- RAD Studio 2010을 사용하다가 RAD Studio XE6 을 구매하여 XE7롤 업그레이드 한 상태입니다.
- 2010에서 사용하던 프로젝트를 XE7로 빌드하니까 실행파일 크기가 2010에선 1.2메가 정도였던 것이 XE7에서는 9메가 이상으로 커졌습니다.
- 컴파일 환경 변화 치고는 너무 심한 것 같구요. 로딩 시간도 오래걸리고 불편합니다.
-인터넷 검색해서 디버그 옵션 제외, 코드가드 비활성화, RTTI 비활성화, 폼 테마 죽이기 등 별 방법을 다 적용해 봤지만 수십 킬로바이트씩정도의 변화만 있을 뿐 원천적으로 문제를 해결해 주지는 못하였습니다.
- 시스템 특성상 코드가 너무 커지면 로딩시간이라든가 어려운점이 많은데 속시원한 해결 방법 좀 알려주세요.
비슷한 질문을 받아 직접테스트해 보니 아래의 결과가 나옵니다.
[테스트 대상]
C++Builder 2010의 기본데모(Demos\CPP\Apps\RibbonDemos\RibbonDemo)
2010 데모소스를 그대로 옮겨 XE7에서 컴파일 했습니다.
[테스트 결과]
C++빌더 2010 : 3,086 KB
C++빌더 XE7 : 5,367 KB
위 테스트 내용으로 보면 기본 컴포넌트만 사용한 경우 말씀하신 용량차이가 발생하지 않습니다.
몇가지 예상되는 이슈에 대한 안내 드립니다.
1,
혹시 외부 컴포넌트가 용량에 영향을 줄수 있을 것 같습니다.
이 경우에는 새 프로젝트에서 자주 사용하는 외부 컴포넌트를 추가하시어 용량 비교를 하시면 원인이 되는 컴포넌트를 찾을 수 있겠습니다.
2,
2010에서 Release로 XE7에서 Debug로 빌드해 디버그 코드가 포함된것이 아닌지 점검해 보시기 바랍니다.(질문주신 내용으로는 이미 시도해보신 것 같지만, 다른분들을 위해 남깁니다)
3,
혹시 2010에서 런타임패키지 방식으로 사용하던 프로젝트 옵션이 XE7에서 풀린것이 아닌가 의심해 봅니다.
런타임 패키지 설정해 배포용량 줄이는 방식은 다음 글을 참고할 수 있습니다. http://tech.devgear.co.kr/344672
4,
그래도 문제가 해결되지 않으신다면 UPX 등의 실행파일 압축툴을 사용해 보시는 것을 고려해 보시기 바랍니다.
UPX는 실행파일의 용량을 줄이는 툴입니다.(검색하면 관련글들이 많습니다. :https://www.google.co.kr/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#newwindow=1&q=upx+%EC%82%AC%EC%9A%A9%EB%B2%95&revid=791611519)