[問題] Release跟Debug結果不同

看板C_and_CPP (C/C++)作者 (奸商)時間16年前 (2009/10/05 15:53), 編輯推噓6(608)
留言14則, 5人參與, 最新討論串1/1
我用VisualStudio 2008寫了一個 遞迴尋找最大值的程式 但是使用Debug建置執行結果都正確 但是使用Release後建置執行 數字一多就會結果錯誤 最大值都會變成很大的負數或是正數 有點像是變數沒有初始化的狀態 不知道問題出在哪 有人有類似經驗嘛? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.49.9

10/05 16:26, , 1F
你可能寫出了會產生 undefined behavior 的程式碼
10/05 16:26, 1F

10/05 16:26, , 2F
要看 code 才知道
10/05 16:26, 2F

10/05 16:39, , 3F
也有可能是記憶體誤用, 以前用bool BOOL GLboolean之類
10/05 16:39, 3F

10/05 16:40, , 4F
的東西, 就把1 byte的和4 bytes的搞錯, 結果Debug built
10/05 16:40, 4F

10/05 16:40, , 5F
都沒有問題, 等到release built才會crash在奇怪的地方,
10/05 16:40, 5F

10/05 16:41, , 6F
因為stack被搞爛了XD
10/05 16:41, 6F

10/05 17:56, , 7F
我把Release的建置組態 最佳化關掉就好了@@
10/05 17:56, 7F

10/05 17:57, , 8F
不要做這種事!! 不要把潛藏的bug用矇馬眼的方式遮起來!!
10/05 17:57, 8F

10/05 18:18, , 9F
不然的話他一定會在你最不想要他出來的時候出來
10/05 18:18, 9F

10/05 18:18, , 10F
是說這連續兩推好像有點糟糕.... XD
10/05 18:18, 10F

10/05 18:58, , 11F
怎麼說有點糟糕?_?
10/05 18:58, 11F

10/05 18:58, , 12F
"如果你欺騙compiler, 它會報復你", 請樓下推原文....XD
10/05 18:58, 12F

10/05 21:07, , 13F
ledia 好糟糕, 請暫時不要跟我說話(轉頭)
10/05 21:07, 13F

10/05 21:29, , 14F
@_@"
10/05 21:29, 14F
文章代碼(AID): #1AoQO8vE (C_and_CPP)
文章代碼(AID): #1AoQO8vE (C_and_CPP)