如何在Linux中使用共享库的同一进程的实例之间共享共享库(.so)中
发布时间:2020-12-13 19:13:56 所属栏目:Linux 来源:网络整理
导读:我有一个共享库(.so),我在执行应用程序之前预先加载,我在共享库中有一些应用程序使用的全局数据结构.应用程序可以使用fork()创建其他进程,这些进程可以更新共享库中的全局数据结构.我希望在所有流程中保持对这些全局数据结构的一致看法.有什么方法可以在 Lin
我有一个共享库(.so),我在执行应用程序之前预先加载,我在共享库中有一些应用程序使用的全局数据结构.应用程序可以使用fork()创建其他进程,这些进程可以更新共享库中的全局数据结构.我希望在所有流程中保持对这些全局数据结构的一致看法.有什么方法可以在
Linux中实现这一点吗?
我已经尝试使用shm_ *调用和mmap()将共享库的全局数据映射到共享段,但它不起作用. 解决方法
最明确的说法是:你不能完全按照你的要求做. Linux不支持共享链接器列出的全局变量.该内存将处于不可共享的映射到交换空间.
我可以提供的一般食谱是这样的: >定义一个用于布置数据的结构.没有指针!只是抵消. 如果你真的只关心父母和它的分叉孩子,你可以使用匿名映射而不打扰文件,你可以将映射的位置存储在全局(可以在子节点中读取). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |