March 18, 2010

演講:以 GDB 重新學習 C 語言程式設計 (成功大學)

本月底,應成功大學電機系邀請,對之前預告的「2010 年免費課程:以 GDB 重新學習 C 語言程式設計」作第一場分享,以下是相關的資訊:
  • 講題:以 GDB 重新學習 C 語言程式設計
  • 日期:2010 年 3 月 27 日 (週六)
  • 時間:14:00 - 17:00
  • 地點: 國立成功大學自強校區電機大樓一樓 令洋廳
有別於以往 C 語言教材慣用 "Hello World" 等級的範例程式作切入,小弟預計用 [eserv] 這個自行開發的小型 C/C++ Ajax web framework (將於 OSDC.tw 研討會介紹) 作為實驗的對象,透過 gdb 去追蹤分析,進而作擴充,預期將掌握 UNIX 系統與 C 語言程式開發的技巧。用簡單的 web server + CGI (純 C 語言 + POSIX 系統呼叫實做) 的組合,以 AJAX 作為立即資料的呈現。比方說以下的圖例:

展現一個動態連結到 libiw 的 web server + AJAX engine 僅有 22 kb,而透過 GDB 更給予我們高度的彈性,隨時可動態觀察記憶體與系統的資訊,進而做出修改與調整。就 C 語言學習的角度來說,我們會著重以下幾個特徵:
  • C99 的延伸語法
  • function pointer / callback function
  • Linux 系統呼叫的行為
  • Heap/Stack 與 x86
當我們以 GDB/Debugger 設定中斷點、單步執行,即可循序分析/修改一個中型的系統,動態修改 CGI 的傳回值的同時,可立即反應在網頁,HTML + CSS + JavaScript 總是能比較生動。當然,在這過程,又會面臨到新的議題,這也是「以 GDB 重新學習 C 語言程式設計」的設計方針,好像一個師傅親手操刀,將作品進行雕刻琢磨的過程,用透明漸進的方式去闡述。哪些人適合這樣的課程呢?建議對 C 語言有初步的認知、並開發過 C 語言程式者,而期望用貼近系統運作方式去重溫 C 語言,期待您的建議與指教,謝謝!

參考資料: PS: 近期內會公佈 [eserv] 與分析用的 GDB scripts,另外,這個議程應該頗冷門,不需要特別報名,自行抽空前來即可
由 jserv 發表於 March 18, 2010 9:16 PM
迴響
發表迴響









記住我的資訊?