The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
890 B
43 lines
890 B
/* On Windows not all versions of VS support C++11 and |
|
* some (most?) versions of mingw don't support std::thread, |
|
* even though they do support c++11. Since we only care about |
|
* threads working, do the test with raw win threads. |
|
*/ |
|
|
|
#if defined _WIN32 |
|
|
|
#include<windows.h> |
|
#include<stdio.h> |
|
|
|
DWORD WINAPI thread_func(LPVOID) { |
|
printf("Printing from a thread.\n"); |
|
return 0; |
|
} |
|
|
|
int main(int, char**) { |
|
printf("Starting thread.\n"); |
|
HANDLE th; |
|
DWORD id; |
|
th = CreateThread(NULL, 0, thread_func, NULL, 0, &id); |
|
WaitForSingleObject(th, INFINITE); |
|
printf("Stopped thread.\n"); |
|
return 0; |
|
} |
|
#else |
|
|
|
#include<thread> |
|
#include<cstdio> |
|
|
|
void main_func() { |
|
printf("Printing from a thread.\n"); |
|
} |
|
|
|
int main(int, char**) { |
|
printf("Starting thread.\n"); |
|
std::thread th(main_func); |
|
th.join(); |
|
printf("Stopped thread.\n"); |
|
return 0; |
|
} |
|
|
|
#endif
|
|
|