Debug版本
Debug 是“調試”的意思,編譯器在生成 Debug 版本的程序時會加入調試輔助信息,並且很少會進行優化,程序還是原來的。
不是任何一個程序都可以調試的,程序中必須包含額外的輔助信息才能調試,否則調試器也無從下手。
Release版本
Release 是“發行”的意思,Release 版本就是最終交給用戶的程序,編譯器會對它進行優化,以提高執行效率,雖然最終的運行結果仍然是我們期望的,但底層的執行流程可能已經改變了。
編譯器還會盡量降低 Release 版本的體積,把沒用的數據一律剔除,包括調試信息。
最終,Release 版本是一個小巧精悍、非常純粹、為用戶而生的程序。
總結
Debug 版本的存在是為了方便程序員開發和調試,性能和體積不是它的重點;Release 版本是最終交給用戶的程序,性能和體積是需要重點優化的兩個方面。
在開發過程中,我們一般使用 Debug 版本,只有等到開發完成,確認沒有任何 Bug 之后,希望交給用戶時再生成 Release 版本。