Подтвердить что ты не робот

Поддержка g++ и С++ 0x

хотя было сказано, что поддержка С++ 0x новых функций в g++ находится в экспериментальном режиме, многие разработчики gcc заявили, что вы можете использовать большинство новых функций в своих кодах и заставить программу работать.

но когда я пытаюсь скомпилировать эту простую программу, это приводит к ошибке сегментации. Почему?

#include <thread>
#include <iostream>

void my_thread_func()
{
    std::cout<<"hello"<<std::endl;
}

int main()
{
    std::thread t(my_thread_func);
    t.join();
}

g++ -std = С++ 0x -Wall -o запустить main.cc

4b9b3361

Ответ 1

Я связал исполняемый файл с библиотекой pthread, и он сработает! Я не видел отсутствующей зависимости от общей библиотеки (ldd), но, похоже, реализация библиотеки std на С++ в Linux использует pthread внутри.

g++ thread.cpp -o thread -Wall -std=c++0x -lpthread