草庐IT

Delphi:带有内置包的 .exe:600kb,.exe 外部 BPL:6MB。这是为什么?

Delphi:.exewithbuilt-inpackages:600kb,.exe+externalBPLs:6MB.Whyisthat?如果我用内置包在delphi中编译.exe文件,它会生成大约600kb的EXE文件。但是,如果我使用运行时包编译它,大小的总和(.exe所有必需的.BPL)约为6-8MB(取决于编译器的版本)。为什么差异如此显着?因为如果您运行正常编译,链接器可以在DCU上执行"智能链接"并删除您的程序永远不需要的代码。但是这些包是预构建的,并且包含了所有代码,因此您无法将它们智能链接到更小的尺寸。我认为当您生成带有内置BPL的程序时,您会假设所有BPL文件都已链接。事实

Delphi:带有内置包的 .exe:600kb,.exe 外部 BPL:6MB。这是为什么?

Delphi:.exewithbuilt-inpackages:600kb,.exe+externalBPLs:6MB.Whyisthat?如果我用内置包在delphi中编译.exe文件,它会生成大约600kb的EXE文件。但是,如果我使用运行时包编译它,大小的总和(.exe所有必需的.BPL)约为6-8MB(取决于编译器的版本)。为什么差异如此显着?因为如果您运行正常编译,链接器可以在DCU上执行"智能链接"并删除您的程序永远不需要的代码。但是这些包是预构建的,并且包含了所有代码,因此您无法将它们智能链接到更小的尺寸。我认为当您生成带有内置BPL的程序时,您会假设所有BPL文件都已链接。事实