Re: [問題] 讀取bmp影像檔
※ 引述《wcmein (浪漫鐵人8號 )》之銘言:
: 請問一下
: 我利用C++ 藉由 opengl 讀取影像檔
: 我在windows的VC++6.0 下可以讀取
: 可是在mac 的XCode (C++ tool) 下就無法讀取了
: 請問是何種原因
: 以下為source code 取材自opengl超級聖經 第二版
: ....<餘文刪除>
在這裡,稍微講一下,怎麼去找出程式的問題。
之前的推文裡有講過,當程式有問題的時候,第一步是在可疑的地方設中斷點
仔細看看程式真正在跑的流程為何。
通常在這一步過後,大多數的程式碼,都能找出問題所在。
其中許多問題,可立即解決。
可是以這一程式來說,問題並不光是程式本身,還包括了輸入的資料,
這時候,光檢視程式本身,不容易找出問題。
此時開發者所要做的事情有二:
1. 檢查輸入資料的格式。
2. 預測輸入資料後的結果。
這是什麼意思呢?
舉例而言:
一個MPEG-2 TS 的檔案,他的Header的開頭必定是0x0000000047.
我知道這點,當我要剖析MPEG-2 TS時,我便預期到,
當我將MPEG-2 TS的資料讀到Buffer時,Buffer的開頭必定為0x0000000047
而在我的程式實際可能如下:
if(buffer[4] != 0x47)
{
Assert(...);
}
那當我的程式從檢查點退出時,檢視buffer的內容,是否為我所預期的值,
就可知道可能的問題點在那。
更進一步來說,如果buffer的值與輸入資料不同,只有兩個可能:
1. 我寫錯.
2. 資料不正確。
(而且通常都是1.比較可能....)
這時候,要做的事就是:找一個能開binary的編輯器,仔細看看檔案內到底是怎麼寫的
(我是都使用HexEdit啦...)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.115.2
※ 編輯: atst 來自: 140.112.115.2 (07/27 13:14)
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
11
30
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章