Windows驅動的Checked (chk)和Free(fre)區別

    微軟的驅動發佈時一般有兩個版本:chk和fre。chk表示Checked,fre表示Free。兩者的區別在於,checked build有traces和asserts,而free build沒有。
    簡單而言,checked 就是debug,free就是release啦。
   以下內容FROM:http://msdn.microsoft.com/en-us/library/ff543450.aspx對這兩個版本區別的說明。
    這兩種截然不同的構建基於NT的操作系統可用有以下幾種:

Free(fre)的版本:
   
微軟Windows的免費構建用於生產環境。操作系統的自由構建是建立在完整的編譯器優化。當自由生成發現可糾正的問題,它繼續運行。
   
包含操作系統的自由生成的分發介質沒有任何特殊的標籤 - 換句話說,包含自由生成的光盤貼有Windows版本的名稱,而不涉及構建的類型。
Checked(chk)版本:
   
微軟Windows的檢查的版本使得識別和診斷操作系統級問題更容易。
 兩者
不同於自由建立在以下方面:
       
許多編譯器優化(如堆棧幀消除),在chk的版本被禁用。這使得更容易理解分解的機器指令,並且因此更容易跟蹤的系統軟件問題的原因。
       
chk版本允許在操作系統代碼和系統提供的驅動程序了大量的調試檢查。這有助於檢查的版本儘快發生識別內部矛盾和問題。
   
包含chk版本發佈媒體都清楚地標示爲“調試/調試的生成。 ”chk版本分發介質包含檢查版本的操作系統,加上的HAL ,驅動程序,文件系統,甚至很多用戶模式組件的選中版本。有關如何獲得此版本的信息,請參閱獲取檢查的版本。
因爲chk的版本包含比fre生成較少的優化和更多的調試檢查,chk版本是在規模較大和較慢的運行速度比免費版本。因此,fre構建用於生產環境,除非有必要使用checked版本識別嚴重的問題。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章