静态库中只有一个c ++ 11单例实例

时间:2017-06-02 17:51:34

标签: c++ c++11 singleton

我使用一个具有singleton get方法的类,该方法返回一个静态本地库。这是C ++ 1中的线程安全。当我将此类编译为静态库并在两个不同的共享库中使用此库时:将这两个共享库与应用程序链接时,是否只有一个单例实例?

1 个答案:

答案 0 :(得分:1)

每个DLL都会在Windows中获得自己的单例副本。我听说它在Linux中有所不同,但我没有直接经验。

当调用链接器来创建共享库时,它将从任何静态库中复制它所需的任何代码 - 包括该代码中定义的静态变量。创建的每个共享库都将获得代码和变量的不同副本。