假设我们在某些编译单元中有以下代码,最终编译为Linux上的共享库(g ++ 4.9)
namespace A {
class B {
static __thread MyObj *myobj;
};
}
所以这被编译成.so并且它不会导出这个符号(使用隐藏的可见性)。
现在,特定应用程序具有正在使用的相同代码段。即相同的cpp编译单元与此应用程序链接,也可以访问上面的共享库。
问题 - 这两个myobj实例是否位于TLS中的2个不同地址?我假设是,但我发现可能与上述配置有关的问题。