-
debug 和 release 版本有什么不同
Debug:Debug 通常称为调试版本,通过一系列编译选项的配合,编译的结果通常包含调试信息,而且不做任何优化,以为开发人员提供 强大的应用程序调试能力。
Release:Release通常称为 发布版本,是为用户使用的,一般客户不允许在发布版本上进行调试。所以不保存调试信息,同时,它往往进行了各种优化,以期达到代码最小和速度最优。为用户的使用提供便利。
-
-
在VS中的区别(了解)
-
Debug 和 Release 并没有本质的区别,它们只是VS预定义提供的两组编译选项的集合,编译器只是按照预定的选项行动。如果我们愿意,我们完全可以把 Debug 和Release 的行为完全颠倒过来。当然也可以提供其他的模式,例如自己定义一组编译选项,然后命名为 MY_ABC 等。习惯上,我们仍然更愿意使用 VC 已经定义好的名称。
VS 选项 CONCLUSION:Debug 和 Release 只是两个编译的选项而已,是编译器所要进行工作的一系列指令,它们只是编译指令的集合的名称。
Debug 版本包括调试信息,所以要比 Release 版本大很多(可能大数百 K 至数M)。至于是否需要 DLL 支持,主要看你采用的编译选项。如果是基于 ATL 的,则 Debug 和 Release 版本对 DLL 的要求差不多。如果采用的编译选项为使用MFC动态库,则需要MFC42D.DLL等库支持,而 Release 版本需要MFC42.DLL支持。Release 不对源代码进行调试,不考虑 MFC 的诊断宏,使用的是 MFC Release 库,编译时对应用程序的速度进行优化,而Debug 则正好相反,它允许对源代码进行调试,可以定义和使用 MFC 的 诊断宏,采用 MFC Debug 库,对速度没有优化。
CONCLUSION:Debug 允许对源码进行调试,而 Release 则不对源码进行调试