【发布时间】:2012-02-16 23:35:57
【问题描述】:
我有点困惑为什么Delphi在链接和编译中有调试信息。
它们有什么区别?
【问题讨论】:
我有点困惑为什么Delphi在链接和编译中有调试信息。
它们有什么区别?
【问题讨论】:
编译器中的调试选项会将调试信息添加到DCU 文件中。
链接器中的调试选项会将在DCU 文件中找到的所有调试信息放入 exe/dll。
如果您使用的是 FastMM4 或 memslueth 之类的东西,您将需要这两个选项来帮助您找到任何故障。
如果您发布代码,您应该禁用链接器选项以大大减少您的 exe 大小(并保护您的 IPR)。
如果您只发布 DCU 文件(作为第 3 方控件/库),如果您不提供源代码,则应在发布前关闭编译器设置。
【讨论】:
MAP 文件(也是链接器选项):这是将地址转换为模块和过程名称的最简单方法。