[英]Bug in Release only
我正在使用Microsoft Visual Studio Express2013。我有3個項目的解決方案。 1個靜態庫和兩個引用該庫的項目。 當僅將庫的優化設置為/ O2時,我在游戲中會遇到一些奇怪的錯誤。 當我針對庫禁用優化時,它的運行與調試中的運行完全相同。 是什么原因造成的,我該如何解決?
您可能有未初始化的變量,這些變量會由編譯器在調試模式下而不是在發布模式下自動初始化。
此外,由於沒有優化,您可能會遇到對齊問題和較小的內存溢出,在調試模式下將受到保護,但是如果啟用了優化並且代碼的對齊方式不同,這可能會導致問題和未定義的行為。
嘗試確保所有變量都已顯式初始化,而不要假設:
int i;
is the same as int i = 0;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.