作者eamansf96xs (草爺)
看板Electronics
標題[問題] g++編譯
時間Mon May 21 14:06:43 2018
想請問一下
我在電腦用 visual studio + opencv 執行一個濾波器 可以正常濾波出圖片
但在 raspbian os 下 一樣有安裝opencv
g++編譯後執行卻沒辦法
透過printf 把一些條件下變數的值顯示出來 居然會有些不一樣
個人認為是編譯器問題 想請問這樣要怎麼解決
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.104.81
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Electronics/M.1526882806.A.FBF.html
1F:→ eamansf96xs: 有人有遇過這狀況嗎? 05/22 00:28
2F:→ ccbruce: 應該只是溢位, 類似的問題有在mp3 codec上遇過。 05/22 01:13
3F:→ ccbruce: 你要檢查計算過程中的數值變化。如果有定點實數就更容易 05/22 01:14
4F:→ ccbruce: 出問題了 05/22 01:14
5F:→ ccbruce: compiler出問題的機率比程式出問題的機率小太多了。大部 05/22 01:17
6F:→ ccbruce: 份都是程式用了跟machine-dependent的寫法。如果檢查完數 05/22 01:18
7F:→ ccbruce: 值變化後還懷疑是compiler, 把-O3之類的拿掉, 有可能是怪 05/22 01:19
8F:推 mmonkeyboyy: 其實 這是你該自己能了解的部份 不是上來就怪 05/22 01:20
9F:→ ccbruce: 混淆compiler的優化演算法 05/22 01:20
10F:→ mmonkeyboyy: compiler.... 05/22 01:20
11F:→ mmonkeyboyy: 就像cc版友說的 先檢查數值 其實有很多東西可以先查 05/22 01:21
12F:→ mmonkeyboyy: 而且....這種事學校老師不教嗎 ? 05/22 01:22