windowsで並列分散処理をしたいです。
MinGW Installerでminw32-base-binとgcc-g++-binをインストールしてこのページを参考にしてbinとincludeとlibにファイルを追加して下のコードをコンパイルして実行すると一瞬だけウィンドウが表示されるだけで狙った挙動になりません。
初めからthreadが入っているらしいmingw-w64をインストールしてコンパイルしても同じ挙動になります。
どのようにしたらCでpthreadが使えるようになりますか?
C
1/* test_pthreads.c */ 2 3#include <stdio.h> 4//#define HAVE_STRUCT_TIMESPEC 5#include <pthread.h> 6 7void* thread_func( void *args ) 8{ 9 printf("start"); 10 int n = 0; 11 12 printf( "thread_func;\n" ); 13 for(; n<20; n++) { 14 printf("[thread_func] %d\n", n); 15 } 16 return NULL; 17} 18 19int main(void) 20{ 21 printf("kakunin"); 22 int cnt = 0; 23 pthread_t thread; 24 25 printf("main;\n"); 26 /* thread_func 関数を新たなスレッドで呼び出す */ 27 pthread_create( &thread, NULL, thread_func, (void *)NULL ); 28 29 for(; cnt<60; cnt++) { 30 if ( cnt >= 10) { 31 printf("[main]%d\n", cnt); 32 } 33 } 34 35 pthread_join( thread, NULL ); 36 37 return 0; 38} 39
回答2件
あなたの回答
tips
プレビュー