• 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、代码判断状态

    begin
    {$IFDEF DEBUG}
    //Debug状态下 执行代码
    {$ENDIF}
    {$IFDEF RELEASE}
    //Release 状态下 执行代码
    {$ENDIF}
    end;
    

      

    创建时间:2022.04.29  更新时间:

  • 相关阅读:
    赋值运算符重载
    拷贝构造函数
    sizeof与strlen
    C++函数参数为引用或指针
    Largest Rectangle in Histogram
    二极管作用
    yzoj P1948 取数字问题
    NOIP 2016 愤怒的小鸟 题解
    NOIP 2016 蚯蚓 题解
    NOIP 2016 组合数问题 题解
  • 原文地址:https://www.cnblogs.com/guorongtao/p/16205332.html
Copyright © 2020-2023  润新知