静态库中只有一个C 11 Singleton的实例

Is there only one instance of c++11 singleton from static library

本文关键字:Singleton 实例 有一个 静态      更新时间:2023-10-16

我使用的类,该类带有单身顿的方法,该方法返回静态本地库。这是C 1中的ThreadSafe。当我将此类编译为静态库并在两个不同的共享库中使用此库时:在将这两个共享库与应用程序链接时,Singleton只有一个实例?

每个dll将在Windows中获得自己的Singleton的副本。我听说Linux有所不同,但我没有直接的经验。

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