SUA でこのコードをコンパイルできません。
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void * thread_function(void *arg) {
printf("thread_function started. Arg was %s\n", (char *)arg);
// pause for 3 seconds
sleep(3);
// exit and return a message to another thread
// that may be waiting for us to finish
pthread_exit ("thread one all done");
}
int main() {
int res;
pthread_t a_thread;
void *thread_result;
// create a thread that starts to run ‘thread_function’
pthread_create (&a_thread, NULL,
thread_function, (void*)"thread one");
printf("Waiting for thread to finish...\n");
// now wait for new thread to finish
// and get any returned message in ‘thread_result’
pthread_join(a_thread, &thread_result);
printf("Thread joined, it returned %s\n", (char *)thread_result);
exit(0);
}
Visual Studio 2008 および 2010 を搭載した Windows 7 Ultimate x64 で実行しており、以下をインストールしています。
- UNIX 用 Windows サブシステム
- Microsoft Windows 7 および Windows Server 2008 R2 の UNIX ベース アプリケーション用サブシステムのユーティリティと SDK
Visual Studio プロジェクトのインクルード ディレクトリ プロパティが "C:\Windows\SUA\usr\include" に設定されている
Visual Studio 2010 (または 2008) で pthreads プログラムをコンパイルして実行 (場合によってはデバッグ) するには、何を構成する必要がありますか?