zoukankan      html  css  js  c++  java
  • 五、何为Debug(调试版)和Release(发行版)

          在高级语言出现的早期,很可能根本就没有这个区别。高级语言被编译成可执行的机器代码,一种版本就足够了。

    但是人们发现那些可执行的机器码是可以被优化的。比如说已经定义了但没有使用的变量、根本不可能执行到的代码,

    完全可以去除。一些跳转来跳转去的复杂逻辑,可以用简单的跳转替代。一些多余指令才达到目的的情况,实际上用

    一条指令就足够了。连续不断的优化操作,是最终编译越来越简洁、高效。

          但是这又出现了另一个问题。当bug发生时,开发者需要调试。然而经过优化的代码,常常看上去已经和原来的

    高级语言逻辑大相径庭(虽然它们之间的功能应该是等价的)。这样以来调试者就往往摸不着头脑。此时就希望编译

    器不要优化或者少优化,于是出现所谓“调试版”和“发行版”的区别。调试版基本不优化;发行版则一般都优化到极致。
    在windows应用程序编程中 ,一般称为Debug版本和Release版本。但是这个名字并非放之四海而皆准,比如

    windows驱动开发中,又一般称为check版本和Free版本。但是意义是一样的。

  • 相关阅读:
    《Python 源码阅读》之 类型Type
    《Python 源码剖析》之对象
    KMP匹配算法
    Python的递归深度
    js验证手机号
    Jquery 实现 “下次自动登录” 记住用户名密码功能
    js注册读秒进度条
    div+css进度条
    SprignMVC+myBatis整合
    ssm控制输出sql(二)
  • 原文地址:https://www.cnblogs.com/tk091/p/2471956.html
Copyright © 2011-2022 走看看