28초 걸리던 컴파일과 링크 시간이 8초로 줄어드는 프리컴파일 이용방법을 소개합니다. CPU 와 메모리 탓을 하기 전에 요걸 먼저 꼭 하세요. 대형 프로젝트에는 필수!!
안녕하세요. 유광희 입니다
Borland C++ Builder 6.0 환경에서 Pre-Compile 기능을 효율적으로 사용하는 방법을
알려드립니다.
일단 결과 !
예제 프로젝트의 적용전 28 초 -> 8초
셈플 프로젝트의 설명
예제 프로젝트는 2개의 폼으로 구성되어 있는 간단한 어플리케이션 입니다.
2개의 폼에서 이렇게 차이가 나는데, 폼이 여러개라면 ... 덜덜덜..입니다..
두 폴더의 프로젝트는 PreCompile 적용 전과 후를 비교하는 동일한 어플리케이션입니다
작은 프로젝트야 대충 기다리면 된다고 하실지 모르겠으나,
제 회사에서 작업하는 프로젝트는 5분~10분까지 빌드 시간이 걸립니다. -_-;
이 시간이 1분 이내로 끝났습니다! 얏호
적용 방법
1. PreHeader 유닛을 생성 (PreHeader.cpp, PreHeader.h)
2. PreHeader.h 에 각종 헤더, 폼 등 VCL 클래스에 사용된 헤더를 전부다 넣습니다
아래는 예로 구성한 헤더 내용 입니다
PreHeader.h 의 예
#ifndef PreHeaderH
#define PreHeaderH
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include <Forms.hpp>
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
//---------------------------------------------------------------------------
#endif
3. 모든 .cpp 의 내용을 수정하세요!
VCL, 기타 헤더를 include 하는 내용을 모두 PreHeader.h 로 수정하세요
아래는 총 3개의 cpp 를 수정하는 모습니다
예:PreCompileTestApp.cpp
#include
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("TfrmMain.cpp", frmMain);
USEFORM("TfrmTest1.cpp", Form1);
->
//---------------------------------------------------------------------------
#include "PreHeader.h"
//---------------------------------------------------------------------------
USEFORM("TfrmMain.cpp", frmMain);
USEFORM("TfrmTest1.cpp", Form1);
예:TfrmMain.cpp
#include
#include
#include
#include
#include
#include
#pragma hdrstop
#include "TfrmMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
->
#include "PreHeader.h"
#include "TfrmMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
예:TfrmTest1.cpp
#include
#include
#include
#include
#include
#include
#include
#include
#pragma hdrstop
#include "TfrmTest1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
->
#include "PreHeader.h"
#include "TfrmTest1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
위처럼 PreHeader.h 로 모두 바꾸세요
4. PreHeader.cpp 를 프로젝트 파일 목록의 맨 첨 위로 올리세요
5. 프로젝트 빌드 시간을 비교해보세요! 엄청난 향상을 볼수 있습니다
6. 옵션 추가 수정 - 작업하는 프로젝트 파일이 많을 경우 아래의 절차를 꼭 처리하세요
아래의 절차는 현재 작업하던 프로젝트의 PreHeader 를 없애지 않고
보관하도록 하여여 다음번에 열었을 경우에도 바로 효과를 받기 위한 것입니다
Project -> Options -> Compiler -> Use pre-compiled header 를 선택 -> File Name 에 적절한 이름을 입력
예제와 소스 다운로드
다운로드
작성자
http://cpueblo.com
유광희