[問題] 不同編譯器結果不同

看板C_and_CPP (C/C++)作者 (蚯哥)時間14年前 (2011/09/09 22:44), 編輯推噓6(6025)
留言31則, 8人參與, 最新討論串1/1
我最近剛完成一個大型的程式 因為有很多檔,所以貼上來應該沒幫助 我用DEVC++跟Visual Studio 2010編譯 結果卻都不一樣@@''' DEVC++的結果比較正確 請問有人遇過類似問題嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.249.169.167

09/09 22:46, , 1F
我猜你有用到 math.h ...
09/09 22:46, 1F

09/09 22:46, , 2F
執行結果這種東西只有分正確和不正確, 「比較正確」哪招
09/09 22:46, 2F

09/09 22:47, , 3F
回一樓,有用到沒錯,所以是...???
09/09 22:47, 3F

09/09 22:47, , 4F
回u大,兩個都有跑出結果,只是DEV的很接近標準答案
09/09 22:47, 4F

09/09 22:48, , 5F
因為我是在跑模擬,所以才說比較正確
09/09 22:48, 5F

09/09 22:54, , 6F
我沒記錯的話,大多compiler都會自己做math library,除了
09/09 22:54, 6F

09/09 22:54, , 7F
少數小型的compiler才會調用system32裡某個dll的math lib.
09/09 22:54, 7F

09/09 22:55, , 8F
再加上每個compiler對於浮點數處理效果不同,明顯的像是
09/09 22:55, 8F

09/09 22:55, , 9F
bcb容易有 +- 0 問題,故推測應是compiler math lib 關係.
09/09 22:55, 9F

09/09 22:56, , 10F
同樣的code,哪個比較準倒不確定,個人是偏好用 vs.
09/09 22:56, 10F

09/09 23:01, , 11F
說道math math.h 跟 cmath 其實有一點差別
09/09 23:01, 11F

09/09 23:03, , 12F
如果全錯,我還比要好找,可是只錯某一筆資料,我就不
09/09 23:03, 12F

09/09 23:03, , 13F
太知道怎麼DEBUG
09/09 23:03, 13F

09/09 23:03, , 14F
09/09 23:03, 14F

09/09 23:04, , 15F
沒有ERROR也沒有WARNING
09/09 23:04, 15F

09/09 23:04, , 16F
我認為這情況應不太可能發生,速度與誤差是有分別,但要到全
09/09 23:04, 16F

09/09 23:04, , 17F
錯.. 應不怎可能.
09/09 23:04, 17F

09/09 23:05, , 18F
而且執行速度差了三倍,不知道能不能提供大家一些線索
09/09 23:05, 18F

09/09 23:08, , 19F
執行速度的差距,會不會是因為沒有開啟最佳化?
09/09 23:08, 19F

09/09 23:08, , 20F
dev我不熟,vc可以改用release模式編編看
09/09 23:08, 20F

09/09 23:09, , 21F
執行速度的話,vc 開 release mode, math library 是
09/09 23:09, 21F

09/09 23:09, , 22F
dev-c 三倍左右,這是正常的事,很多人用 wall time 去測
09/09 23:09, 22F

09/09 23:12, , 23F
得到的結果往往如此,參考InvSqrt實測 http://0rz.tw/JS9qk
09/09 23:12, 23F

09/09 23:12, , 24F
oh,補一下,edisonx = tropical72 分身,所以blog連到一樣的
09/09 23:12, 24F

09/09 23:43, , 25F
純粹推部落格,很有趣,期待持續看到新文!
09/09 23:43, 25F

09/09 23:48, , 26F
另,DevC++的比較數據有開Optimization嗎?如有在網站附編譯
09/09 23:48, 26F

09/09 23:48, , 27F
參數更顯完整
09/09 23:48, 27F

09/09 23:55, , 28F
原來EdisonX是tropical72,正想說是何方高人...XD
09/09 23:55, 28F

09/09 23:55, , 29F
謝謝樓上建議,source 沒留下來,記得是開「更加最佳化」。
09/09 23:55, 29F

09/10 01:02, , 30F
板大好人!
09/10 01:02, 30F

09/10 01:44, , 31F
說自己是好人我還是第一次見到 ( ′-`)y-~
09/10 01:44, 31F
文章代碼(AID): #1EQYPVBZ (C_and_CPP)
文章代碼(AID): #1EQYPVBZ (C_and_CPP)