Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
允许在c中共享内存的json库_C_Json_Shared Memory - Fatal编程技术网

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

允许在c中共享内存的json库,c,json,shared-memory,C,Json,Shared Memory,我试图在多个进程之间共享一个json对象。代码是用C编写的。目前我使用的是json-C,它工作得很好。有没有办法强制库分配到共享内存中?如果没有,什么c库允许我这样做 谢谢您的问题是特定于操作系统的。我猜是在Linux上 我看不出一个简单的方法(特别是对于不同的JSON),因为共享内存有一些固定的大小,请参阅。或者至少构建JSON字符串,然后为其分配共享内存(足够大)并复制JSON字符串 您是否考虑过使用RAM文件系统,例如TMPFS文件系统?那应该很快 铌 定制JSON库的内存分配器(如DOS

我试图在多个进程之间共享一个json对象。代码是用C编写的。目前我使用的是json-C,它工作得很好。有没有办法强制库分配到共享内存中?如果没有,什么c库允许我这样做


谢谢

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

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

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


定制JSON库的内存分配器(如DOS-源代码已打开)是不够的,因为不同的进程通常在不同的地址共享内存。

将JSON看作一个字节数组。在C中共享一个字节主干就像吃蛋糕,基本上所需要的就是能够指定如何分配和释放内存。有人知道json库允许这样做吗?@Mobius,这要看情况而定。共享内存段通常映射到不同进程中的不同位置。这意味着您不能将包含指针的对象存储在共享内存段中,因为这些指针仅在创建它们的进程中有效。