在Linux内核中是否有类似"键-值"对的数据结构?

5

例如,我想在某些数据结构中存储Pid到名称的映射。这样,我们可以快速检查是否已经存储了某个给定的pid。您能否建议在Linux内核中用于此目的的一些数据结构?


红黑树通常用于大型映射。内核实现称为rbtree。 - Ulfalizer
@Ulfalizer 我正在寻找一些简单的东西。如果不行,那就用红黑树。 - A-B
1个回答

3

内核中有地图数据结构,但它不是通用的地图。它将标识号(UID)映射到指针。以下是如何定义它的示例:

  struct idr map;
  idr_init(&map);

然后使用idr_get_new(struct idr* idp, void* ptr, int* id)函数将新元素插入到映射表中。


我知道IDR,但我不知道是否有一些方法可以将IDR用于通用的“键值”目的。 - A-B

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接