之前看cxImage都看不懂的,現在一目瞭然很爽^^
最近在ubuntu下灌insight 結果卡在 -Werror 雖然有學長教說怎麼樣一個一個的改源碼,
不過最好還是從makefile解決比較快,不過他的makefile感覺破百了,實在不想改= =
我了解別人的程式基本上有三種方法
以下方法需要除錯器的配合,不要跟我說,你很會debug。
一.開門見山法
直接在入口點下斷點,然後單步執行跟進去看,內建函數或看過的函數就可以不用再看了,看到直接函數回傳,就可以大概了解整個程式的運作了。
二.邏輯名稱法
當你知道這個library一定有你想要的演算法時,而且你知道這個名稱時才可以用的,一種是所有程式碼用grep把你要的名稱找出來,不然就是看檔名的名稱是不是跟你的演算法有相關,來決定看code的方向。
三.背水一斷法
在你知道你想看的程式碼在哪,但是想知道這個library怎麼用時使用,直接在這個程式碼下斷點,然後執行到這個斷點時,依序把整個堆疊看過。
四.使用圖形、文件反向工程的程式來幫助了解
Doxygen, StarUML, CppDoc, Ndoc 等等。
Ogre 1.70需要freetype才能產生專案檔來編譯。
要給doxygen吃的註解要用/**開始,
/** 後面的字代表這一段的大標題
@remarks寫在一個class的宣告前面,表示對這個class的註解。
/** A billboard is a primitive which always faces the camera in every frame.
@remarks
Billboards can be used for special effects or some other trickery which requires the
triangles to always facing the camera no matter where it is. Ogre groups billboards into
sets for efficiency, so you should never create a billboard on it's own (it's ok to have a
set of one if you need it).
@par是分段的意思
@par
Billboards are just the mechanism for rendering a range of effects such as particles. It is other classes
which use billboards to create their individual effects, so the methods here are quite generic.
@see後面是打class的名稱,表示這個class也參考了什麼class
@see
BillboardSet
/**
*/
寫在函數的前面,代表這個函數解釋的大標題。
/** Default constructor.
@remarks nothing to do.
*/