我使用一个具有singleton get方法的类,该方法返回一个静态本地库。这是C ++ 1中的线程安全。当我将此类编译为静态库并在两个不同的共享库中使用此库时:将这两个共享库与应用程序链接时,是否只有一个单例实例?
答案 0 :(得分:1)
每个DLL都会在Windows中获得自己的单例副本。我听说它在Linux中有所不同,但我没有直接经验。
当调用链接器来创建共享库时,它将从任何静态库中复制它所需的任何代码 - 包括该代码中定义的静态变量。创建的每个共享库都将获得代码和变量的不同副本。