加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ANSI C哈希表实现,在一个内存块中包含数据

发布时间:2020-12-16 09:28:50 所属栏目:百科 来源:网络整理
导读:我正在寻找一个哈希表的开源C实现,它将所有数据保存在一个内存块中,因此可以通过网络轻松发送. 我只能找到为每个添加到它的键值对分配小块内存的内存. 非常感谢您提前做好所有投入. 编辑:它不一定需要是一个哈希表,无论键值对表可能会做什么. 解决方法 在un
我正在寻找一个哈希表的开源C实现,它将所有数据保存在一个内存块中,因此可以通过网络轻松发送.
我只能找到为每个添加到它的键值对分配小块内存的内存.

非常感谢您提前做好所有投入.

编辑:它不一定需要是一个哈希表,无论键值对表可能会做什么.

解决方法

在unix系统上,我可能使用共享内存缓冲区(参见 shm_open()),或者如果没有带有MAP_SHARED标志的内存映射文件,请参阅特定于操作系统的差异,尽管 http://en.wikipedia.org/wiki/Mmap

如果shm_open和mmap都不可用你仍然可以使用磁盘上的文件(在某种程度上),你必须关心正确的锁定,我会向下一个进程发送一个解锁信号,也许是寻求对于文件的更新部分,然后该进程再次锁定文件,寻找有趣的部分并像往常一样进行(更新/删除/等).

在任何情况下,您都可以自由地设计哈希表的布局或任何您想要的,例如具有固定宽度的键/搜索对.这样你就可以快速访问哈希表的密钥,如果需要,你可以搜索数据部分,然后复制/删除/修改/等等.

理想情况下,此文件应位于ram磁盘上.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读