[問題] 請問大型的open source要怎麼起頭去看?

看板C_and_CPP作者 (科科:))時間9年前 (2014/08/31 13:57), 9年前編輯推噓1(1015)
留言16則, 7人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) 不確定 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 不確定 問題(Question): 爬文了一下發現都沒相關的問題 如果是我眼殘沒看到麻煩跟我說一下 謝謝 最近上面丟了個模擬器的Source code(GEM5)就叫我看懂 但沒這樣的經驗 不知道該怎麼看起? 有去姑狗過幾種看大型程式的軟體來輔助 像是source insight 大家蠻推的 (? 但還是有點沒頭緒的不知道該怎麼起腳 不知道有沒有前輩對於看大型code或是open source比較有心得的可以分享一下 謝謝 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.187.212 ※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1409464650.A.877.html

08/31 14:27, , 1F
第一步通常是找程式的起始點,然後從有興趣/不懂的地方
08/31 14:27, 1F

08/31 14:27, , 2F
jump 下去追...如果知道整體架構可以挑特定 module 看
08/31 14:27, 2F

08/31 14:44, , 3F
自己編過一次 執行 看有什麼功能可以玩 從code內找該功能
08/31 14:44, 3F

08/31 15:30, , 4F
跟1F一樣 從頭(main)找 然後去追有興趣的地方在哪
08/31 15:30, 4F

08/31 15:31, , 5F
如果是GUI的話 就直接去找事件的觸發點在哪
08/31 15:31, 5F

08/31 15:34, , 6F
其他無關的地方就別管了 除非你需要100%掌握
08/31 15:34, 6F

08/31 15:34, , 7F
(不過我倒是常常被無關的地方混淆 然後就...迷路了XD)
08/31 15:34, 7F

08/31 15:38, , 8F
3F說的要可以編譯並成功執行也很重要
08/31 15:38, 8F

08/31 15:39, , 9F
從有興趣/需要改的module著手,先grep一下看看,倒著看
08/31 15:39, 9F

08/31 15:40, , 10F
若是不能一邊Run一邊對照code的話個人覺得Trace難度會增加
08/31 15:40, 10F

08/31 15:40, , 11F
時間許可的話再看全流程,不行的話也能慢慢去看
08/31 15:40, 11F

08/31 18:32, , 12F
gem5當初應該有發paper 可以從他發的paper看架構
08/31 18:32, 12F

08/31 18:33, , 13F
(^當初用marssx86)
08/31 18:33, 13F

08/31 22:38, , 14F
我玩FreeSoftware第一步一定是編譯先成功
08/31 22:38, 14F

08/31 22:38, , 15F
可以邊改邊玩最重要
08/31 22:38, 15F

09/01 20:11, , 16F
設定編譯環境+1
09/01 20:11, 16F
謝謝各位的意見 但其實我不太知道怎麼去"編譯"它 它不太像一般的(一或多個)程式可以直接去Compile & Run (至少是我以前沒碰過) 我現在只會照著官網的教學去啟動(?)它 裡面有運用到scons去編譯的樣子? 這邊整個行為動作我也不是很了解 只讓它可以work並且在上面boot一個OS 但對於詳細的去看Code真的是懵懵懂懂 第一次看這麼"有系統且大型"的程式碼真的是...Orz ※ 編輯: smilekerker (140.116.187.212), 09/04/2014 20:43:54
文章代碼(AID): #1K0hbAXt (C_and_CPP)