2009-11-30 107 views
14

我正在尋找在C語言(Windows平臺)中實現標準的經過測試的庫,它實現了像堆棧,隊列,樹等數據結構。C中的標準數據結構庫?

我寧願有一個源代碼。自己寫一個圖書館是可能的;不過,我覺得選擇一些可能會優化和減少錯誤的行業標準實施可能會更好。

編譯器是Visual Studio 2005/2008。

回答

14

Glib

下載油嘴爲Windows here

+0

我正在尋找一些本地Windows源代碼,我可以直接在我的項目中納入。此外GLib帶有很多其他插件,我不會感興趣。我只想要數據結構庫。儘管會詳細檢查它。 – 2009-11-30 12:17:51

+3

「native windows source」是什麼意思? – qrdl 2009-11-30 12:26:46

+0

它編譯在visual C++上,沒有任何附加依賴項。相反,我的意思是,一個ANSI C兼容的代碼,在Visual C++中編譯。當我嘗試查看Glib時,需要我GTK +網站。我知道它是圖書館的一部分,它是更大的GTK +框架的一部分。如果我錯了,請糾正我。 – 2009-11-30 13:05:44

8
  • GDSL。根據這些文檔,它是純粹的ANSI C,並且應該與Visual C++一起工作。
  • C-generic-library
  • Kompimi。 C數據結構庫,強調集合。附帶Visual Studio項目文件。
+0

GDSL - 來自主頁面的信息。 GSL是在Debian GNU/Linux上用gcc開發的。它應該建立在任何使用gcc的GNU/linux發行版上。 GDSL已經在以下發行版中測試成功: Debian Mandrake RedHat 我會嘗試在Visual C++中編譯。 – 2009-11-30 13:02:55

+0

Kompimi是alpha版本。我寧願爲我的應用程序提供久經考驗的庫。否則會從書中給我自己寫的例子。 對於C-generic庫,我無法在下載部分獲取代碼,甚至無法檢出svn。 – 2009-11-30 13:12:16

4

結賬cbase。它的LGPL(大多數其他庫是GPL),如果許可證是關注你的事情。

我唯一的評論是它需要C99或GCC。它使用與C89不兼容的可變宏。它應該在VC2005/2008下編譯好。

cbase是一個有用的函數庫,可以簡化System V UNIX上的系統軟件開發。該庫包括內存管理,字符串解析,文件系統遍歷,子進程執行,I/O以及常用數據結構(如鏈表,哈希表,堆棧和隊列)的實現。該庫還包含一個Berkeley套接字的高級接口,以及一個調度器的實現,其功能與cron守護進程的功能非常相似。注意:cbase以前稱爲CFL。

2

您檢查了qLibc?這是一個開源的C語言實現,可提供各種類型的數據strucutre如哈希表,鏈表,隊列,棧...

截至今天,從它的網站,我看到它有以下功能集:

  • 集裝箱
    • 列表---雙向鏈接列表。
    • 列表表格---在鏈接列表上實現的KEY/VALUE配對錶。
    • 哈希表---基於哈希的KEY/VALUE配對錶。
    • 靜態哈希表---靜態(數組/映射/共享)基於內存的KEY/VALUE配對錶。
    • 向量---實現了一個可增長的元素數組。
    • 隊列--- FIFO(先進先出)實現。
    • Stack --- LIFO(後進先出)實施。
  • 通用工具。
    • 字符串
    • I/O
    • 文件
    • IPC,信號燈共享內存
    • 恩/解碼器
    • 哈希
    • 系統
    • 時間
  • 擴展
    • INI風格的配置文件解析器。
    • Apache風格的配置文件解析器。
    • 旋轉文件記錄器。
    • HTTP客戶端。
    • 數據庫(MySQL)接口。

在每個容器的實現,這顯然在代碼的頂部解釋內部數據結構。因此,您有必要抓住實施思路。

的代碼可以在https://github.com/wolkykim/qlibc

希望這有助於找到。 (請投票,如果這有幫助,我需要一些點。謝謝:)