g ++不破坏线程本地

时间:2019-01-31 00:57:14

标签: c++ g++ thread-local

在我的计算机上,GCC并未调用thread_local的析构函数。 该代码可以在clang 7和Visual Studio上正常运行。

这是一个错误吗? 我正在Windows上使用MinGW GCC 8.1。

Thread model: posix
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)

代码如下:

#include <iostream>

struct A {
    A() {
        std::cout << "A()\n";
    }

    ~A() {
        std::cout << "~A()\n";
    }

    void
    print() {
        std::cout << "A\n";
    }
};

thread_local A a;

int
main() {
    a.print();
    return 0;
}

0 个答案:

没有答案