[問題] 在不同作業環境下編譯錯誤

看板C_and_CPP作者 (1+1≠2)時間12年前 (2012/04/19 21:47), 編輯推噓0(009)
留言9則, 4人參與, 最新討論串1/1
小弟手邊有支10年前某位公司前輩所寫的MFC程式 當時該前輩是用Visual C++ 6.0所撰寫 目前有兩個作業系統 A. Windows XP SP3 + Visual Studio 2008 SP1 B. Windows 7 SP1 + Visual Studio 2008 SP1 該支程式在A作業系統下執行一切正常,但是同一支程式移到B作業系統就錯誤了 請問該怎麼辦?同樣的Code為什麼會因為作業系統不一樣而有所錯誤呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.198.149

04/19 21:49, , 1F
這種問題實在很難隔空抓藥耶...XD
04/19 21:49, 1F

04/19 21:50, , 2F
既然都有source code了,debugger慢慢跳吧
04/19 21:50, 2F

04/19 21:56, , 3F
微軟的API在不同Windows平台上的計實際動作行為並不一定
04/19 21:56, 3F

04/19 21:57, , 4F
一樣, 並不是都叫Windows xxx就一樣.
04/19 21:57, 4F

04/19 21:58, , 5F
你這問題不好抓bug, 不過如果你能夠把問題先縮小範圍,
04/19 21:58, 5F

04/19 21:59, , 6F
再來針對某些APIs來debug的話, 應該也不會難找.
04/19 21:59, 6F

04/20 10:05, , 7F
基本上有兩個方向。1.Driver. 2.對應於OS的DLL。
04/20 10:05, 7F

04/21 23:59, , 8F
個人猜測是舊程式寫得不夠標準, 不然就是舊程式本來就有bug
04/21 23:59, 8F

04/22 00:00, , 9F
只是在XP上該bug剛好不會有事, 換OS後立刻看到問題了
04/22 00:00, 9F
文章代碼(AID): #1Fa1Tk3a (C_and_CPP)