linux - linux下动态库共享全局变量吗

标签 linux shared-libraries dynamic-linking dynamic-loading

众所周知,linux调用ldconfig加载所有*.so库,然后链接使用共享库的应用程序。但是,我很困惑全局变量在这种情况下如何工作。由于所有这些应用程序中只有一份共享库副本,因此它们是否共享共享库中的全局变量?如果是,那么它们如何同步?

谢谢

最佳答案

不,它不是共享的 - 库的代码/文本部分是共享的 - 数据部分对于使用该库的每个进程都是唯一的

关于linux - linux下动态库共享全局变量吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12452232/

相关文章:

c++ - 有没有免费且最新的 Linux 编程(C/C++/GNU)电子书?

linux - 使用 PHP 启动脚本时,脚本中的执行 screen 失败

c++ - 静态库中的隐藏符号

c - 共享图片库中的全局变量在32位和64位二进制中有不同的访问方式,以及它的位置?

c++ - sem_timedwait 与 CLOCK_MONOTONIC_RAW/CLOCK_MONOTONIC

java - 限制 ubuntu 上的 jvm 进程内存

assembly - 构建带有递归函数的.so

ubuntu - ldd 不同的输出。相同的二进制文件不同的发行版

c - PIC 共享库中不同的函数地址

c++ - 如何链接到二进制库的调试版本