2008-06-21

glib

  其實予兒很久以前就聽聞過glib的大名,但一直沒有實際試用的機會。正好這學期某科目要做的數值模擬要寫一支稍有規模的小程式,就拿來用用看。

  glib最開始源於GTK+這個有名的Open Source Project,是其開發過程中的副產品。當然我並不喜歡寫GTK+的程式,這實在是非常累人又吃力不討好的工作,但從GTK+而生的glib卻設計得很好,介面也包得很容易使用。它包裝了許多諸如鏈結串列Hash Table、字串、動態長度的陣列等等常用的的基本資料結構;也提供了一組近似於標準C函式庫的內容,用以使程式具有跨平台的性質;更甚者,它把關於ThreadIO事件處理的東西也包成一組函式,讓這些寫起來有點煩人的東西變得輕鬆許多。

  雖然有時候還是有點懷念以前自己實作串列和Hash Table的時光,但用glib包裝好的東西寫起來確實輕鬆不少,美中不足的地方大概就是對Open Source沒概念的教授應該很難順利編譯這支程式,而且函式名稱超級長吧。為了要把程式碼塞進作業的兩欄式排版中不被斷行,還定義了一大堆macro來把函式的名稱縮短……。

  至於為什麼不用爬說語寫就好了,這樣不是好寫很多?嗯,好問題,我也不曉得為什麼我當初要選C……。

  註:指標觀念不夠清楚的C語言初學者請慎用,沒想好會很容易被一堆指標搞得頭昏腦脹。

沒有留言: