2009-12-11 10 views
5

Linuxカーネルから悪質なlist.hはどこにありますか?Linuxカーネルのlist.h

私は一度にそれを見て覚えていると私は私の人生のために再びそれを見つけることができません。私はそれがホスティングされているいいHTTPサイトに私を指摘することができれば素晴らしいだろうので、Windowsのボックスを実行しています:)

ありがとう。

+0

のためになぜそれが悪名高いのですか?それは侵入的なリストノードだからですか?私はCの中で、例えば "一般的な"リストのようなトリックを見ました。それを使用するには、ペイロードのタイプを含むいくつかのマクロを#定義し、ヘッダを#includeします。私は#includeを複数回使って複数の "インスタンス化"を作成することもできると思います。 –

+0

flaged。 1)Linuxカーネルにlist.cはありません。 2)list.hは良いです。悪名高いわけではありません。 –

答えて

9

list.hについては、hereを参照してください。

1

コードが必要な場合は、Linux Cross Referenceにあなたの好きなものが表示されます。私はどこにでもlist.cが表示されません。

+0

これはカーネルのリンクリストの実装です。 –

+1

リンクリストヘルパーはマクロであり、list.hに含まれています –

6

Rusty Russel(二重リンクリストヘルパーのカーネル実装に携わっていた)は後でhis ccan projectにあるより一般的なマクロセットに作業を移植しました。それはまた、デュアルBSD/MITのライセンス、あなたが欲しいものでそれを使用することができます。 ccanのcontainerofへの依存に注意してください。

カーネルの対応とは別に管理されているように、リンクにあるものを使用する方が良いかもしれません。 CCANについては

は、 CPANと思うが、C.