C#项目属性"生成"选项卡-"配置"中“Debug”和“Release”生成的程序有什么差异?

解决方案 »

  1.   

    Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 
         Debug 和 Release 的真正区别,在于一组编译选项。 
    Debug 版本   
    参数       含义   
    /MDd /MLd 或 /MTd 使用 Debug runtime library(调试版本的运行时刻函数库)   
    /Od 关闭优化开关   
    /D "_DEBUG" 相当于 #define _DEBUG,打开编译调试代码开关(主要针对assert函数)   
    /ZI   
    创建 Edit and continue(编辑继续)数据库,这样在调试过程中如果修改了源代码不需重新编译   
    GZ 可以帮助捕获内存错误     
    Release 版本 参数含义   
    /MD /ML 或 /MT 使用发布版本的运行时刻函数库   
    /O1 或 /O2 优化开关,使程序最小或最快   
    /D "NDEBUG" 关闭条件编译调试代码开关(即不编译assert函数)   
    /GF 合并重复的字符串,并将字符串常量放到只读内存,防止被修改  
    Debug 和 Release 并没有本质的界限,他们只是一组编译选项的集合,编译器只是按照预定的选项行动。http://www.cnblogs.com/jembai/archive/2009/01/13/1374805.html
      

  2.   

    debug 是调试状态  releases是发布状态下~
      

  3.   

    这里是 .NET 版, 摆脱 拷贝-粘贴 前动动脑子, bs!