【发布时间】:2016-09-30 20:21:14
【问题描述】:
这在 C++ 中:
静态库“A”定义了一个全局变量 foo。
“B”和“C”是两个动态库,都依赖于 A,因此(静态)与 A 链接。
然后 B 和 C 最终在同一个进程中加载 (例如:应用程序加载 B 和 C)。
如果我们在windows环境中,我们将获得两个不同的foo实例,一个在B中,一个在C中,如下所示:
Shared global variable in C++ static library
Linux 环境怎么样。
上下文: 我们目前正在将一个 windows 项目移植到 linux
【问题讨论】:
-
如果您没有得到答案,我想您可以通过更改第一个库中的全局变量并检查第二个库中的值来执行一个简单的测试。