2010-10-16 56 views
7

我正在考慮像glib之類的東西,但可能只是最小版本的超薄版本。它需要基本的工具,如鏈表,矢量和散列表。它也應該具有最小的運行時間佔用空間。在嵌入式系統中使用基本實用功能的良好開源輕量級c庫

+1

如果您的系統真的有嚴格的代碼大小要求,那麼對數據結構使用通用抽象可能不是一個好方法。通常與數據結構和代碼的其他部分緊密結合的實現可能會更小,更簡單。 – 2010-10-17 05:59:07

+0

如果在整個系統中管理多個列表,那麼這不會最終導致大量重複的邏輯嗎?我傾向於認爲緊密耦合可以在一次性案例中起作用,或者即使邏輯僅需要幾次,但在某些時候通用目的實現似乎更合適,不是嗎?否則,你會一遍又一遍地重複執行相同的邏輯,這會浪費空間並容易出錯。 – Kevin 2010-10-17 15:24:39

回答

4

不完全是一個庫,而是一個經過測試,優化和記錄的代碼片段:* BSD和Linux系統上的sys/queue.h具有各種侵入鏈接列表和隊列的宏。

+0

尋找它我認爲這將很好地爲我的目的工作。謝謝。 – Kevin 2010-10-17 15:25:18

1

uthash是一個不錯的哈希表庫(完全由宏組成),它還附帶了一個鏈表,動態字符串和動態數組宏。

我也強烈建議sys/queue.h(larsmans建議)爲簡單和測試良好的鏈表。