Delphi:FastMM使您的可执行文件更大?

AFF*_*AFF 2 delphi fastmm

FastMM会使您的可执行文件更大吗?我注意到我的应用程序增长了大约300-500kb,这对我来说相当大.我已经关闭delphi编译器选项以排除调试信息,但大小不会改变.

我使用FastMM的FullDebugMode来打开,这会影响大小吗?但是当我试图将其关闭时,它会找到我无法找到的libc.

请帮忙......我正在使用D5

Rob*_*edy 9

首先,它并不重要.使用该选项编制的程序不适用于一般分发.它们旨在帮助您找到问题,以便您可以修复它,然后发送正确版本的程序,而无需启用调试选项.

其次,如果您仍在软盘上分发,则只有半兆字节.这个真正的空间是否取决于你的程序预先有多大.分发时压缩您的程序,您可能几乎没有注意到差异.

最后,对于问题的关键,是的,完全调试模式会使您的程序更大.很明显,启用该模式会增加更多代码.它添加了执行所有调试检查的代码,例如检查堆损坏,生成堆栈跟踪,捕获已释放接口的使用,将错误记录到文件以及记录内存泄漏.它还添加了加载和使用完整调试模式DLL的代码,它改变了任何汇编函数,而不是用普通的Delphi编写.

有关调试信息的编译器选项应该没有任何效果.它控制调试信息是否包含在DCU文件中; 这些信息总是从EXE文件中排除(除非你在谈论TD32调试信息,但是你不应该启用它,因为你没有使用Turbo Debugger).

如果您的程序正在寻找Libc单元,那么您完成的不仅仅是完全调试模式.你以某种方式打开 Linux模式.您没有使用Linux,因此请勿打开该模式.如果您遇到困难,请将您的FastMM4Options.inc副本替换为原始版本并重新开始.