c - 允许在c中共享内存的json库

标签 c json shared-memory

我正在尝试在多个进程之间共享 json 对象。代码是用C编写的。目前我使用的是json-c,效果很好。有没有办法强制库分配到共享内存中?如果没有,什么 C 库可以让我做到这一点?

谢谢

最佳答案

您的问题是特定于操作系统的。我猜它是在 Linux 上。

我没有看到一个简单的方法(特别是对于不同的 JSON),因为共享内存有一些固定大小,请参阅 shm_overview(7) 。或者至少构建 JSON 字符串,然后为其分配共享内存(足够大的大小)并复制 JSON 字符串。

您是否考虑过使用 RAM 文件系统,例如tmpfs 文件系统?那应该很快。

注意

自定义 JSON 库的内存分配器(如 jansson 所做的 - 源代码位于 github )是不够的,因为不同的进程通常在不同的地址共享内存。

关于c - 允许在c中共享内存的json库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24298892/

相关文章:

c - shmctl 在 C 中抛出 "cannot allocate memory"

c++ - Linux中的信号处理和中断函数调用?

c - c语言显式类型转换

c++ - DeactivateDevice 与 IOCTL_BUS_DEACTIVATE_CHILD

html - 使用 JSON 传递 HTML

multithreading - 说明信号量/多进程/共享内存程序的工作原理的最佳图表是什么?

更改常量参数

c - 将数组的值存储在一个变量中

java - 在 Spring REST Controller 中将 JSON 映射到 Hibernate 模型

javascript - 在 JavaScript 中使用正则表达式验证 JSON