debugrelease中.docVIP

  • 5
  • 0
  • 约9.67千字
  • 约 10页
  • 2017-02-03 发布于北京
  • 举报
一、Debug和Release编译方式的本质区别 Debug通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug和Release的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd/Fo,但区别并不重要,通常他们也不会引起Release版错误,在此不讨论) Debug版本: /MDd/MLd或/MTd使用Debugruntimelibrary(调试版本的运行时刻函数库) /Od关闭优化开关 /D_DEBUG相当于#define_DEBUG,打开编译调试代码开关(主要针对 assert函数) /ZI创建Editandcontinue(编辑继续)数据库,这样在调试过 程中如果修改了源代码不需重新编译 /GZ可以帮助捕获内存错误 /Gm打开最小化重链接开关,减少链接时间 Release版本: /MD/ML或/MT使用发布版本的运行时刻函数库 /O1或/O2优化开关,使程序最小或最快 /DNDEBUG关闭条件编译调试代码开关(即不编译assert函数) /GF合并重复的字符串,并将字符串常量放到只读内存,防止 被修改 实际上,Debug和Release并没有本质

文档评论(0)

1亿VIP精品文档

相关文档