2009-11-30 21 views
14

私は、スタック、キュー、ツリーなどのデータ構造を実装するC言語(Windowsプラットフォーム)で標準的に試され、テストされたライブラリを探しています。Cの標準データ構造ライブラリ?

私はそれに沿ってソースコードを持つことをお勧めします。私自身のライブラリを書くことは可能です。しかし、私は、最適化され、バグの少ない業界標準の実装を選択するほうがよいかもしれないと感じています。

コンパイラはVisual Studio 2005/2008です。

答えて

14

Glib

ダウンロード口が達者用のWindows here

+0

私は私のプロジェクトに直接組み込むことができるいくつかのネイティブウィンドウのソースコードを探していました。また、GLibには私が興味を持っていない多くのアドオンが付属しています。私はちょうどデータ構造のライブラリが必要です。しかし、それを詳細にチェックします。 –

+3

"ネイティブウィンドウソース"とはどういう意味ですか? – qrdl

+0

は、Visual C++で追加依存関係なしでコンパイルします。むしろ、私は、Visual C++でコンパイルするANSI C準拠のコードを意味していました。私がGlibを​​見ようとするとGTK +のサイトになります。私はそれが大きなGTK +フレームワークの一部であるライブラリの一部であると理解しています。私が間違っているなら、私を修正してください。 –

8
  • GDSL。ドキュメントごとに、それは純粋なANSI Cであり、Visual C++で動作するはずです。
  • C-generic-library
  • Kompimi。コレクションに重点を置いたCのデータ構造ライブラリです。 Visual Studioのプロジェクトファイルが付属しています。
+0

GDSL - メインページの情報。 GSLはgccを使ってDebian GNU/Linuxで開発されました。 gccを使ってGNU/Linuxディストリビューションを構築する必要があります。 GDSLは、以下のディストリビューションで成功してテストされています。 Debian Mandrake RedHat 私はVisual C++でコンパイルを試みます。 –

+0

Kompimiはアルファリリース中です。私はむしろ、私のアプリケーションのための試してテストされたライブラリを持っているのが好きです。そうでなければ、例を示す本から私自身のことを書いていたでしょう。 Cジェネリックライブラリの場合、ダウンロードセクションでコードを取得できなかったり、svnをチェックアウトすることさえできませんでした。 –

4

cbaseを参照してください。ライセンスがあなたに関係するものであれば、そのLGPL(他のほとんどの図書館のほとんどはGPLです)。

私の唯一のコメントは、C99またはGCCが必要だということです。 C89互換ではない可変長マクロを使用します。それはVC2005/2008の下でうまくコンパイルする必要があります。

cbaseは、System V UNIXでのシステムソフトウェア開発を簡素化する便利な機能のCライブラリです。ライブラリには、メモリ管理、文字列解析、ファイルシステムトラバーサル、サブプロセス実行、I/O、リンクリスト、ハッシュテーブル、スタック、キューなどの共通データ構造の実装ルーチンが含まれています。このライブラリには、Berkeleyソケットへの高水準インタフェースと、cronデーモンと非常によく似た機能を持つスケジューラの実装も含まれています。注:cbaseはこれまではCFLとして知られていました。

2

を見てしたいのでしょうか?

    :それは機能セットを以下している私が見るサイトだからそれは、ハッシュテーブルなどのデータstrucutreの様々な種類を提供してオープンソースのCの実装ですが、リンクリスト、キュー、スタック...今日のよう

  • コンテナ
    • リスト---二重リンクリスト。
    • リストテーブル---リンクリストに実装されたKEY/VALUEペアテーブル。
    • ハッシュテーブル---ハッシュベースのKEY/VALUEペアテーブル。
    • 静的ハッシュテーブル---静的な(配列/ mmapped /共有)メモリベースのKEY/VALUEペアテーブル。
    • ベクター---要素の拡張可能な配列を実装します。
    • キュー--- FIFO(先入れ先出し)実装。
    • Stack --- LIFO(Last In First Out)の実装。
  • 一般的なユーティリティ。
    • 文字列
    • I/O
    • ファイル
    • IPC、セマフォ、共有メモリ
    • EN /デコーダ
    • ハッシュ
    • システム
    • 時間
  • 拡張
    • INI形式の設定ファイルパーサー。
    • Apacheスタイルの設定ファイルパーサー。
    • ローテーションファイルロガー。
    • HTTPクライアント。
    • データベース(MySQL)インターフェイス。各容器実装で

、それは明らかにコードの先頭に内部データ構造を説明します。したがって、実装のアイデアを理解することが役立ちます。

コードがhttps://github.com/wolkykim/qlibc

で発見することができ、この情報がお役に立てば幸いです。ありがとうございます:)

関連する問題