看板 C_and_CPP 關於我們 聯絡資訊
我最近剛完成一個大型的程式 因為有很多檔,所以貼上來應該沒幫助 我用DEVC++跟Visual Studio 2010編譯 結果卻都不一樣@@''' DEVC++的結果比較正確 請問有人遇過類似問題嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.249.169.167
EdisonX:我猜你有用到 math.h ... 09/09 22:46
uranusjr:執行結果這種東西只有分正確和不正確, 「比較正確」哪招 09/09 22:46
robert000:回一樓,有用到沒錯,所以是...??? 09/09 22:47
robert000:回u大,兩個都有跑出結果,只是DEV的很接近標準答案 09/09 22:47
robert000:因為我是在跑模擬,所以才說比較正確 09/09 22:48
EdisonX:我沒記錯的話,大多compiler都會自己做math library,除了 09/09 22:54
EdisonX:少數小型的compiler才會調用system32裡某個dll的math lib. 09/09 22:54
EdisonX:再加上每個compiler對於浮點數處理效果不同,明顯的像是 09/09 22:55
EdisonX:bcb容易有 +- 0 問題,故推測應是compiler math lib 關係. 09/09 22:55
EdisonX:同樣的code,哪個比較準倒不確定,個人是偏好用 vs. 09/09 22:56
tjjh89017:說道math math.h 跟 cmath 其實有一點差別 09/09 23:01
robert000:如果全錯,我還比要好找,可是只錯某一筆資料,我就不 09/09 23:03
robert000:太知道怎麼DEBUG 09/09 23:03
robert000: 較 09/09 23:03
robert000:沒有ERROR也沒有WARNING 09/09 23:04
EdisonX:我認為這情況應不太可能發生,速度與誤差是有分別,但要到全 09/09 23:04
EdisonX:錯.. 應不怎可能. 09/09 23:04
robert000:而且執行速度差了三倍,不知道能不能提供大家一些線索 09/09 23:05
james732:執行速度的差距,會不會是因為沒有開啟最佳化? 09/09 23:08
james732:dev我不熟,vc可以改用release模式編編看 09/09 23:08
EdisonX:執行速度的話,vc 開 release mode, math library 是 09/09 23:09
EdisonX:dev-c 三倍左右,這是正常的事,很多人用 wall time 去測 09/09 23:09
EdisonX:得到的結果往往如此,參考InvSqrt實測 http://0rz.tw/JS9qk 09/09 23:12
EdisonX:oh,補一下,edisonx = tropical72 分身,所以blog連到一樣的 09/09 23:12
fon909:純粹推部落格,很有趣,期待持續看到新文! 09/09 23:43
fon909:另,DevC++的比較數據有開Optimization嗎?如有在網站附編譯 09/09 23:48
fon909:參數更顯完整 09/09 23:48
james732:原來EdisonX是tropical72,正想說是何方高人...XD 09/09 23:55
EdisonX:謝謝樓上建議,source 沒留下來,記得是開「更加最佳化」。 09/09 23:55
xatier:板大好人! 09/10 01:02
loveme00835:說自己是好人我還是第一次見到 ( ′-`)y-~ 09/10 01:44