允许在c中共享内存的json库
我试图在多个进程之间共享一个json对象。代码是用C编写的。目前我使用的是json-C,它工作得很好。有没有办法强制库分配到共享内存中?如果没有,什么c库允许我这样做允许在c中共享内存的json库,c,json,shared-memory,C,Json,Shared Memory,我试图在多个进程之间共享一个json对象。代码是用C编写的。目前我使用的是json-C,它工作得很好。有没有办法强制库分配到共享内存中?如果没有,什么c库允许我这样做 谢谢您的问题是特定于操作系统的。我猜是在Linux上 我看不出一个简单的方法(特别是对于不同的JSON),因为共享内存有一些固定的大小,请参阅。或者至少构建JSON字符串,然后为其分配共享内存(足够大)并复制JSON字符串 您是否考虑过使用RAM文件系统,例如TMPFS文件系统?那应该很快 铌 定制JSON库的内存分配器(如DOS
谢谢您的问题是特定于操作系统的。我猜是在Linux上 我看不出一个简单的方法(特别是对于不同的JSON),因为共享内存有一些固定的大小,请参阅。或者至少构建JSON字符串,然后为其分配共享内存(足够大)并复制JSON字符串
您是否考虑过使用RAM文件系统,例如TMPFS文件系统?那应该很快
铌定制JSON库的内存分配器(如DOS-源代码已打开)是不够的,因为不同的进程通常在不同的地址共享内存。将JSON看作一个字节数组。在C中共享一个字节主干就像吃蛋糕,基本上所需要的就是能够指定如何分配和释放内存。有人知道json库允许这样做吗?@Mobius,这要看情况而定。共享内存段通常映射到不同进程中的不同位置。这意味着您不能将包含指针的对象存储在共享内存段中,因为这些指针仅在创建它们的进程中有效。