ANSI C 哈希表实现,数据位于一个内存块中

2024-05-04

我正在寻找一种哈希表的开源 C 实现,它将所有数据保存在一个内存块中,因此可以轻松地通过网络发送数据。 我只能找到为添加到其中的每个键值对分配小块内存的内存。

预先非常感谢您的所有投入。

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


序列化此类数据结构的次数(通过网络发送也是序列化)与使用此类数据结构(在程序中)的次数相当低。因此,大多数实现更多地关注速度而不是“可能更容易序列化”方面。

如果所有数据都位于一个分配的内存块中,则对该数据结构的大量操作将有点昂贵,因为您必须:

  • 在添加操作上重新分配内存
  • 最有可能在删除操作上压缩/真空(这样你最喜欢的一个块就很密集并且没有孔)

无论如何,大多数网络操作都会被缓冲,只需迭代键并发送键+值即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ANSI C 哈希表实现,数据位于一个内存块中 的相关文章

  • 使用 CLion 进行 OpenCV Windows 设置

    我想在 Windows 上为 CLion IDE 设置 OpenCV 我尝试使用 OpenCV 3 1 和 2 4 得到相同的结果 我有 Windows 10 64 位 CLion 使用 cygwin 环境 到目前为止我做了什么 1 从Op
  • CMake 找不到请求的 Boost 库

    既然我已经浏览了其他人的解决方案几个小时 但找不到适合我的问题的正确答案 我想将我的具体问题带给您 我正在尝试使用 CMake 构建 vsomeip 为此 我之前构建了 boost 1 55 但是 我在 CMake 中收到以下错误 The
  • 将 new 与 decltype 一起使用

    T t T is an implementation detail t new T want to avoid naming T to allow for flexibility t new decltype t error cannot
  • 单元测试验证失败

    我正在运行我的单元测试PostMyModel路线 然而 在PostMyModel 我用的是线Validate
  • 在路由mvc 4中添加公司名称

    我一直在尝试为 Facebook 等用户提供在 URL 中添加公司名称的选项 http localhost 50753 MyCompany Login 我尝试过不同的网址 但没有成功 routes MapRoute name Default
  • 检测wlan是否关闭

    任何人都可以给我一个提示 如何在 Windows Phone 上以编程方式检测 C 8 1 应用程序 不是 8 0 是否启用 禁用 WLAN 我不想更改这些设置 只是需要知道 该解决方案是一个 Windows 8 1 通用应用程序 Wind
  • linq 中使用字符串数组 c# 的 'orderby'

    假设我有一个这样的方法定义 public CustomerOrderData GetCustomerOrderData string CustomerIDs var query from a in db Customer join b in
  • 在 C# 中调用 C++ 库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有很多用 C 编写的库 我想从 C 调用这些库 但是 我遇到了很多问题 我想知道是否有书籍或指南告诉我如何做到这一点 Dll导入 htt
  • 为什么'enable_if'不能用于禁用这里声明

    include
  • C# 开源 NMEA 解析器 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 开源 NMEA 解析器 嗯 我自己也不熟悉 但是一些快速搜索显示了一个代码项目 htt
  • 访问 ascx 文件中的母版页控件

    我有一个母版页文件 其中包含 2 个面板控件中的 2 个菜单 我还使用控件来检查用户是否登录并获取用户类型 根据我想要显示 隐藏面板的类型 控件本身不在母版页中引用 而是通过 CMS 系统动态引用 我想在用户控件中使用findcontrol
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • 在 asp.net MVC 中使用活动目录进行身份验证

    我想使用活动目录对我的 asp net mvc 项目中的用户进行身份验证 在网上冲浪了几个小时后 我没有找到任何对我有用的东西 我已经看到了所有结果 但什么也没有 我尝试按照许多帖子的建议编辑我的 web config 如果有人可以帮助我提
  • .NET 4 的条件编译[重复]

    这个问题在这里已经有答案了 可能的重复 条件编译和框架目标 https stackoverflow com questions 2923210 c sharp conditional compilation and framework ta
  • 如何停止无限循环?

    我正在编写一个程序 该程序将计算三角形或正方形的面积 然后提示用户是否希望计算另一个 我的代码已经运行到可以计算任一形状的面积的程度 但随后不再继续执行代码的其余部分 例如 如果选择了正方形 则计算面积 然后返回到正方形边长的提示 我假设这
  • CUDA 8 编译错误 -std=gnu++11

    我正在尝试转换一些代码以使用 CUDA 并且我认为我遇到了兼容性问题 我们使用CMake 这些是我使用的 gcc 和 CUDA 版本 gcc version gcc Ubuntu 5 4 0 6ubuntu1 16 04 5 5 4 0 2
  • 为什么以下 C 程序会出现总线错误?

    我认为这是第一个失败的 strtok 调用 好久没写C了 有点不知所措 非常感谢 include
  • LINQ 中的“from..where”或“FirstOrDefault”

    传统上 当我尝试从数据库中获取用户的数据时 我使用了以下方法 在某种程度上 DbUsers curUser context DbUsers FirstOrDefault x gt x u LoginName id string name c
  • INotifyPropertyChanged 和 propertyName

    我一直不确定它的含义propertyName实施时INotifyPropertyChanged 所以一般来说你实现INotifyPropertyChanged as public class Data INotifyPropertyChan
  • 为什么匹配模板类上的部分类模板特化与没有模板匹配的另一个部分特化不明确?

    这个问题可能很难用标题中的句子来描述 但这里有一个最小的例子 include

随机推荐

  • Rails 在部分内用逗号分隔数组项

    Rails 中在部分内部创建逗号分隔列表的最优雅的方法是什么 我最近发现您可以使用部分来迭代从另一个视图模板发送的集合 所以在视图模板中我有 然后在 view directors director html erb中 这实际上做了类似的事情
  • 如何删除在设计器模式下创建的插槽?

    我已经创建了按钮cancelButton 然后我创建了函数槽on cancelButton clicked 使用上下文菜单项Go to slot 但是 过了一段时间 我删除了这个按钮 不再需要 并尝试删除该函数 但编译器给出错误undefi
  • 本地分析需要 Sonar 3.6 版本

    遇到 执行本地分析需要声纳版本 3 6 消息 当尝试在 eclipse 中使用声纳本地分析时 我刚刚安装了最新的CodeHaus http docs codehaus org display SONAR Installing SonarQu
  • 列表有简短的 contains 函数吗?

    给定一个列表xs和一个值item 如何检查是否xs包含item 即 如果任何元素xs等于item 有没有类似的东西xs contains item For performance considerations see Fastest way
  • 可以使用UIAppearance设置UINavigationItem的titleview吗?

    我目前使用此代码来设置导航项的 titleView void viewDidLoad UIImage navbarTitle UIImage imageNamed navbartitleview1 UIImageView imageView
  • 如何在 VS TextMateRules 中将标记设为粗体+斜体

    在 Visual Studio Code 中 我编辑 Markdown 文件 在编辑器中标记的文本 bold 被渲染bold以及标记的那个 italic 呈现在italic 但文字标记 bold and italic 简单地呈现为itali
  • Android:如何设计智能手机和平板电脑的应用程序?

    我知道已经有很多了博客文章 http android developers blogspot com 2011 02 android 30 fragments api html how to s http developer android
  • 设计用于初始化的VHDL状态机

    如何最明智地设计用于初始化芯片的 VHDL 状态机 我当前的设计是 伪代码 案例状态 当 s0 gt VHDL CODE FOR WRITING VALUE TO REGISTER状态 s1 当 s1 gt VHDL CODE FOR WR
  • 如何在 App Engine 中灵活更改 /dev/shm 的大小

    如何更改共享内存文件夹的大小 dev shm在 App Engine 灵活应用程序中 默认情况下 它设置为 64M 太低 无法运行许多应用程序 例如 Chrome 我看不出有什么办法可以改变它 如果您有权访问 可以通过多种方法进行更改doc
  • pandas Series.tolist() 中的 NaN 与 list 中的 NaN 的行为不同

    Why does gt gt import pandas as pd gt gt import numpy as np gt gt list pd Series np nan np nan 2 np nan 2 np nan np nan
  • CXX 编译器标识未知

    我们在使用 Visual Studio 2012 在 Windows 7 64 位下使用 CMake v2 8 12 编译项目时遇到问题 CMake 给我们提供了以下错误 我们已经尝试使用管理员权限从 Visual Studio 命令行启动
  • 如何纠正 Firefox 中侧边栏的固定定位?

    我的网页中有以下 HTML 我想将侧边栏固定在左侧 它在 Chrome 中工作正常 但 Firfox 没有将侧边栏显示为固定 div div h1 Heading h1 div div
  • requestLocationUpdates minTime 参数用途

    我正在创建一个应用程序 用于教育目的 它每 30 分钟记录一次用户的位置 并使用户能够查看地图上的所有位置 我不希望更新频率超过 30 分钟 但事实确实如此 这就是我的称呼requestLocationUpdates locationMan
  • 压缩保存在Google云存储中的文件

    是否可以压缩已保存在 Google 云存储中的文件 这些文件由 Google 数据流代码创建和填充 数据流无法写入压缩文件 但我的要求是将其保存为压缩格式 标准 TextIO Sink 不支持写入压缩文件 因为从压缩文件中读取的可扩展性较差
  • Perl 的核心库是如何管理的?

    根据我的理解 Perl 传统上只包含核心功能 人们安装额外的库来完成各种有用的 有时是非常基本的 事情 但在某些时候 Perl 默认附带了 核心库 因此您可以使用这些库而无需安装它们 来自Python 我很好奇这是如何管理的 具体来说 图书
  • 创建无缝旋转背景图像

    我想重复旋转的背景图像 试图让它变得无缝正在摧毁我的灵魂 从简单的事情开始 考虑每个图像都像砖块一样布局 创建无缝重复背景图像非常简单 红色区域是作物 您可以看到它按预期工作http jsfiddle net mPqfB http jsfi
  • 内核如何区分线程和进程

    Linux 中的线程被称为轻量级进程 无论是进程还是线程 它们的实现都是通过task struct数据结构 1 gt 那么 从这个意义上说 内核如何区分线程和进程 2 gt 当发生上下文切换时 线程如何在上下文切换中获得更少的开销 因为在此
  • 将 try/ except 的 except 部分分离到函数中

    我有一个 try except 我在代码中经常重复 except 部分 这让我相信最好将 except 部分分离到一个函数中 以下是我的用例 try except api error ReadError as e except api er
  • 计算数组元素的出现次数/频率

    在 Javascript 中 我试图获取一个初始的数值数组并计算其中的元素 理想情况下 结果将是两个新数组 第一个指定每个唯一元素 第二个包含每个元素出现的次数 不过 我愿意接受有关输出格式的建议 例如 如果初始数组是 5 5 5 2 2
  • ANSI C 哈希表实现,数据位于一个内存块中

    我正在寻找一种哈希表的开源 C 实现 它将所有数据保存在一个内存块中 因此可以轻松地通过网络发送数据 我只能找到为添加到其中的每个键值对分配小块内存的内存 预先非常感谢您的所有投入 编辑 它不一定需要是哈希表 无论键值对表可能会做什么 序列