这是我的示例程序,
int main()
{
static __thread int a;
printf("\n %d",a);
return 0;
}
在这个程序中,当 printf 语句被删除时,它连接正常。 当包含 printf 语句时,它会给出以下链接器错误
ld: fatal: relocation error: R_SPARC_TLS_LE_HIX22: file /var/tmp//ccwb2Cxc.o: symbol <unknown>: bad symbol type SECT: symbol type must be TLS
处理器:SUN-SPARC 操作系统:UNIX
最佳答案
据我所知,这是自 2006 年以来 Sun 链接器的一个已知问题。如果您将整数复制到本地(非线程),它对您有用吗?
关于c++ - 为什么 __thread 在使用 printf 语句时给出链接器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37790212/