我自己的实现是在http://www.die-schoens.de/prg下使用Apache许可证。它基于磁盘,并映射到共享内存中,也可以进行锁定(即多用户),文件格式可防止崩溃等。所有上述功能都可以轻松关闭(如果需要,可以在编译时或运行时关闭)。因此,最基本的情况几乎是ANSI-C,基本上只是将缓存存在自己的内存中,根本不需要锁定。测试程序已包含。目前,它仅处理固定大小的字段,但我正在努力改进...
Faircom的C-Tree Plus已经商业化超过20年。不要为他们工作等等... FairCom
还有Berkley DB,它被Oracle收购,但仍可从其网站免费下载。
我很确定这不是你要找的解决方案,但为什么不自己将树存储在文件中呢?你只需要一个序列化方法和一个 if/ofstream。
基本上,你可以像这样进行序列化:从根节点开始,在文件中写入“0”作为分隔符,然后写入根节点元素的数量以及所有根节点元素。对于第一层,重复此过程并写入“1”,以此类推。只要你不改变层级,就保持层级索引,空叶子看起来可能像 2|0。