#include <thread>
#include <iostream>
void hello()
{
std::cout << "Hello World!" << std::endl;
}
int main()
{
std::thread t(hello);
t.join();
return 0;
}
Było trochę kłopotów przy próbie kompilacji (gcc - 4.7.3, clang - 3.2-1). gcc potrzebuje dodatkowej flagi w postaci pthread, natomiast clang w wersji 3.2 jeszcze nie radzi sobie z wątkami, ale i na to znalazł się sposób. Budowanie z linii poleceń:
$ g++ -pthread --std=c++11 main.cpp
$ clang++ -pthread --std=c++11 \
-D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 \
-D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 \
-D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 \
-D__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 main.cpp
Poniżej ustawienie dla CMakeList.txt (cmake):project(thread_hello)
cmake_minimum_required(VERSION 2.8)
aux_source_directory(. SRC_LIST)
add_executable(${PROJECT_NAME} ${SRC_LIST})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
Brak komentarzy:
Prześlij komentarz