首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新多个进程使用的共享库中的全局变量

更新多个进程使用的共享库中的全局变量
EN

Stack Overflow用户
提问于 2017-05-12 16:51:38
回答 1查看 135关注 0票数 0

我在一个共享库(libshared.so)中有一个全局变量,.The库被多个进程访问,这些进程正在访问库中的全局变量。我面临的问题是,一个进程对全局变量(存在于共享库中)的更新不会反映到其他独立进程访问的变量中。

我在网上搜索了这个问题,但没有找到任何合适的方法来纠正this.Also,我才知道只有文本/代码段是共享的,每个进程都会获得数据段的本地副本。

请提出实现此要求的解决方案。我想更新共享库中的全局变量。

环境:-Linux、ARM

谢谢阿米特·库马尔

EN

回答 1

Stack Overflow用户

发布于 2017-05-12 17:01:55

如果多个进程使用相同的共享库,则它们会映射相同的代码段,但每个进程都会获得自己的可写数据段副本。因此,“全局”在这里仅指一个进程及其地址空间的上下文中的全局。

想想看:任何其他实现都会调用desaster,例如标准C库中的errno是“全局的”,你肯定不想在这里读取随机的其他进程产生的错误。

如果这是您自己的库,并且您确实需要在进程之间共享数据,那么可以查看共享内存(例如,在linux shmget()等人上)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43933387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档