。net debug 與 release 設置的詳細介紹

(轉)帶你玩轉Visual Studio——帶你管理多種釋出版本

爲什麼要有多種釋出版本

我們每打開一個工程你都會在工具欄中看到有Debug和Release兩個編譯方式的選擇。它們有什麼區別,又爲什麼要有Debug和Release呢?

Debug與Release
圖 1:Debug與Release

Debug

Debug 通常稱爲調試版本,它包含調試信息,並且不作任何優化,便於程序員調試程序。

Release

Release 稱爲發佈版本,它往往是進行了各種優化,使得程序在代碼大小和運行速度上都是最優的,以使編譯出的可執行文件或庫的性能最高,以便用戶很好地使用。

Debug與Release的區別

Debug和Release本質上就是兩組不同的編譯選擇配製,各自的默認設置一般不用更改。它們最大的區別在於Release進行了優化,去掉了調試信息,因此Release常用無法進行正確的調試;而Debug沒有進行優化,包含了調試信息,以方便程序員進行調試。我們可以通過比較它們的配製發現它們之間的區別:

  1. 代碼編譯的優化

    Debug
    Debug
    Release
    Release
  2. 使用的運行時庫

    Debug
    Debug
    Release
    Release

    Debug使用的運行時庫一般後面會加d,而Release的不加,關於運行時庫的問題後面還會有專門章節的進行講解。
  3. 鏈接的優化

    Debug
    Debug
    Release
    Release

釋出方式的配製和管理

既然Debug或Release就一組配製,那能不能息增加一組配製呢?當然是可以的。還記得上一文帶你發佈自己的工程庫中的例子Utils嗎?既要編譯靜態庫又要編譯動態庫,我們之前都是在Debug下配製的,但編譯靜態庫與動態庫切換時每次都要更改配製非常麻煩,其實我們只要爲靜態庫與動態庫添加兩組兩組機制,每次編譯時切換一下編譯項就可以了。

  1. 點擊上面圖1下拉列表框的Configuration Manager…或右鍵工程->屬性->右上角的Configuration Manager…。打開Configuration Manager對話框。

  2. 在Active solution configuration下拉列表中點擊New新建的一組配製。

    Configuration Manager
    Configuration Manager
  3. Copy settings from裏有幾個選擇,Empty表示不拷貝任何配製,添加一組默認設置的配製項;Debug表示會拷貝已有的Debug這組配製中的所有設置,添加完後你再基於這個配製進行修改。一般我們會從已有的Debug或Release中拷貝然後再進行相應的修改,因爲Debug或Release中有很多已經設置好的配製,這樣不容易出錯,而且Debug或Release也是默認的標準配製。

    New Solution Configuration
    New Solution Configuration
  4. 選擇我們新添加的配製項Debug_static,右鍵工程->Properties進行相應的設置,這個在前面一文中已經講過了,不再贅述。

  5. 同樣的方式,我們可以增加Debug_dynamic、Release_Static、Release_Dynamic等配製項。

    新增多個配製項
    新增多個配製項

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