Delphi XE Debug 和 Release 的区别

Delphi XE Debug 和 Release 的区别

1、概念

  • Debug 通常称为调试版本,它包含调试信息,可以单步执行、断点、跟踪等功能,但生成的可执行文件比较大,代码运行速度较慢,可以说不作任何优化,主要作用是便于程序员调试程序。
  • Release 通常称为发布版本,它往往是对源代码进行了各种优化,使得程序在代码大小和运行速度上都得到最优,以便用户很好地使用,但在这种模式下,无法执行调试功能。

2、编译选项区别:

2.1 Debug 

  • /MDd    /MLd 或 /MTd 使用 Debug runtime library(调试版本的运行时刻函数库)
  • /Od    关闭优化开关
  • /D    "_DEBUG" 相当于 #define _DEBUG,打开编译调试代码开关(主要针对assert函数)
  • /ZI    创建 Edit and continue(编辑继续)数据库,这样在调试过程中如果修改了源代码不需重新编译
  • GZ    可以帮助捕获内存错误
  • /Gm   打开最小化重链接开关,减少链接时间

2.2 Release 

  • /MD    /ML 或 /MT 使用发布版本的运行时刻函数库
  • /O1    或 /O2 优化开关,使程序最小或最快
  • /D    "NDEBUG" 关闭条件编译调试代码开关(即不编译assert函数)
  • /GF    合并重复的字符串,并将字符串常量放到只读内存,防止被修改

/Fd /Fo的区别在这里并不重要

3、代码判断状态

1
2
3
4
5
6
7
8
begin
{$IFDEF DEBUG}
//Debug状态下 执行代码
{$ENDIF}
{$IFDEF RELEASE}
//Release 状态下 执行代码
{$ENDIF}
end;

  

 

 

 

 

创建时间:2022.04.29  更新时间:

posted on   滔Roy  阅读(590)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
历史上的今天:
2021-04-29 Delphi Hash算法[4] SHA1
2021-04-29 Delphi Hash算法[3] CRC
2021-04-29 Delphi Hash算法[2] MD5
2021-04-29 Delphi Hash算法[1] 介绍
2020-04-29 Delphi 运行代码错误:cannot focus a disabled or invisible window
2020-04-29 SQL SERVER 监控语句脚本
2015-04-29 delphi idftp

导航

点击右上角即可分享
微信分享提示