Почему при использовании thread_local происходит сбой?

Я уменьшил проблему до следующего небольшого фрагмента кода:

struct tls {
~tls() {}
void dont_opt_out() {}
};

thread_local tls tls_obj;

int main(int argc, char **argv) {
tls_obj.dont_opt_out();
}

При выполнении программа вылетает. Зачем?

Я использую GCC версии 4.8.2 на Windows, я компилирую с g++ -std=c++11 main.cpp,

1

Решение

Попробуйте скомпилировать ваш код как многопоточный.

Под Cygwin это -mthreads опция для компилятора и компоновщика.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]