2009-08-26 4 views
0

私は使用していますC C++!Microsoft Cベースのリストコレクションはありますか?

私はC++のコレクションを知っていますが、Microsoftがユーザーモードプロジェクトで使用できる、LinuxカーネルのようなCベースのリスト構造を持っているのだろうか?

私は自分自身を圧延したくないです。

+0

この質問に対する回答には、いくつかのオプションがあります:http://stackoverflow.com/questions/668501/are-there-any-open-source-c-libraries-with-common-data-structures –

+0

「Mastering Algorithms from C」からコードを取得するよりも悪くなる可能性があります。http://www.amazon.com/dp/1565924533 –

答えて

0

再利用可能なコレクションは、柔軟性やメタデータを持っていません(この配列リストがオーバーフローしたときにどのように再割り当てする必要がありますか?残りのコードがカスタムのallocを使用していますか?

あなたは(あなたがCで何かを行うことができます)、それを行うことができますが、それは本当に速い抽象取得します。

を一方、自分が実に楽しみであるC言語でリンクリストを作成する。配列をすでにそこにある、ハッシュは迷惑だが不可能ではない、木は楽しい...

また、常に最適化しています。関数呼び出しの背後にあるthis = this.nextを使うのではなく、リンクされたリスト操作をすべて設定すると、おそらくそれらの多くがうんざりしてしまうでしょう。

+0

私が書いた古いコードを削除して、それがどれほど悪いのか見ていきます。私はちょうど新しいものを書くのに数時間を費やすかもしれない。 – Casey

2

Windows API内のものは、InterlockedPushEntrySListInterlockedPopEntrySListで使用される単独でリンクされたリストとインターロックされています。

デバイスドライバの場合、LIST_ENTRYがありますが、これをユーザーモードにすることができるかどうかはわかりません。

多くのアルゴリズムの書籍やウェブサイトには、Cに簡単に移植できるリンクリストの実装が含まれています。自分自身をローリングすることはあまり難しくありません。

関連する問題