2009-08-21 3 views

답변

14

일반 컴파일을 실행하면 링커가 DCU에서 "스마트 링킹"을 수행하고 프로그램에서 필요하지 않은 코드를 제거 할 수 있기 때문입니다. 그러나 패키지는 미리 빌드되어 있으며 모든 코드가 포함되어 있으므로 더 작은 크기로 스마트 링크 할 수 없습니다.

4

BPL이 내장 된 프로그램을 생성 할 때 BPL 파일 전체가 링크되어 있다고 가정한다고 생각합니다. 그건 사실이 아니야. 컴파일의 마지막 단계에서 Delphi 컴파일러는 모든 것을 연결합니다. 모듈은 BPL에 있지만 직접 또는 간접적으로 프로그램에서 호출하지 않습니다.

그래서 훨씬 더 작은 풋 프린트로 끝나기 때문에 실제로 필요한 모듈 만 최종 exe에 있습니다.

+3

모듈 전체가 아닙니다. 스마트 링크 커 (smartlinker)는 절대 사용되지 않는다고 판단되면 개별 기능과 절차를 하나의 단위에서 잘라낼 수 있습니다. –