C#調試Debug和Release的區別


 Debug 通常稱為調試版本,它包含調試信息,並且不作任何優化,便於程序員調試程序。Release 稱為發布版本,它往往是進行了各種優化,使得程序在代碼大小和運行速度上都是最優的,以便用戶很好地使用。

Debug 版本 
 參數    含義 
/MDd /MLd 或 /MTd 使用 Debug runtime library(調試版本的運行時刻函數庫) 
/Od 關閉優化開關 
/D "_DEBUG" 相當於 #define _DEBUG,打開編譯調試代碼開關(主要針對assert函數) 
/ZI 創建 Edit and continue(編輯繼續)數據庫,這樣在調試過程中如果修改了源代碼不需重新編譯 
/GZ 可以幫助捕獲內存錯誤 
/Gm 打開最小化重鏈接開關,減少鏈接時間 

Release 版本 
 參數     含義 
/MD /ML 或 /MT 使用發布版本的運行時刻函數庫 
/O1 或 /O2 優化開關,使程序最小或最快 
/D "NDEBUG" 關閉條件編譯調試代碼開關(即不編譯assert函數) 
/GF 合並重復的字符串,並將字符串常量放到只讀內存,防止被修改 

    實際上,Debug 和 Release 並沒有本質的界限,他們只是一組編譯選項的集合,編譯器只是按照預定的選項行動。事實上,我們甚至可以修改這些選項,從而得到優化過的調試版本或是帶跟蹤語句的發布版本。





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM