zoukankan      html  css  js  c++  java
  • “Checked”和“Free”是怎么来的?

    导读:

      对微软技术比较了解的可能知道Windows的同一个版本号的build经常被分为chk和fre,chk表示Checked,fre表示Free。主要的区别在于,checked build有traces和asserts,而free build没有。
     
      但是,checked和free是怎么出现的呢?因为传统的用词一般是debug和retail(或者release)。

      当Windows NT还处在开发阶段的时候,开发组的人还在用“debug”和“retail”。Debug和Retail的不同在于编译时的选项:

      Compiler Optimization:开、关

      Debug Traces:开、关

      Assertions:开、关

      Sanity checks:开、关

      传统来说,Debug是“Optimization:关,Traces:开,Assertions:开”,Retail是“O:开,T:关,A:关”。后来,NT团队加入了Sanity checks的选项。本来,Sanity check在内部版本中有,在发布的时候会移除掉。
     
      于是,NT的团队就有了“O:开,T:开,A:开,S:开”,“O:开,T:关,A:关,S:开”和“O:开,T:关,A:关,S:关”三种Build。

      最后一种是传统的“retail” build。那么,前两种叫什么build呢?第一种Optimization是开着的,所以不是传统的“debug”,后一种Sanity check是开着的,所以不是传统的“retail”。
     
      为了区别这些build的不同。讨论以后,NT团队决定用“checked”表示“O:开,T:开,A:开,S:开”,“Free”表示“O:开,T:关,A:关,S:开”。Checked是因为所以的check都打开了,Free是因为“check free”。
     
      后来,随着NT 3.1项目进展,团队认识到:

      他们其实根本就不会去测试“retail” build,

      他们对free build进行了性能测试,结果发现它能够满足性能要求。

      于是,团队把free build作为最终版本发布。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/chief1985/archive/2008/07/25/2709204.aspx

  • 相关阅读:
    Task示例,多线程
    request
    do put in ruby
    Ruby零星笔记
    Git的常用操作
    如何在Rails中执行Get/Post/Put请求
    Lua中的基本函数库
    Step By Step(Lua目录)
    position:fixed失效原因
    前端性能监控-window.performance.timing篇
  • 原文地址:https://www.cnblogs.com/holly/p/2094219.html
Copyright © 2011-2022 走看看