1

ミューテックス (VS 2008/windows xp sp2) を初期化しようとしましたが、アプリを実行するたびに次の行が表示されます。

pthread_mutex_init(&mutex, NULL);

次のエラーが表示されます。

0xC0000096: Privileged instruction.

次のようにミューテックスを宣言します。

static pthread_mutex_t mutex;

次のようにミューテックスを宣言する pthread_mutex_init を呼び出さないようにしました。

static pthread_mutex_t mutex= PTHREAD_MUTEX_INITIALIZER;

しかし

pthread_mutex_lock(&mutex);

0xC0000096: 特権命令エラーでクラッシュします。

私は何を間違っていますか?

4

1 に答える 1

0

Windows では、CreateMutexAPI を使用してミューテックス オブジェクトを初期化する必要があります。または、コンパイラがサポートしている場合
は、新しい C++ クラスを使用できます。mutex

于 2013-01-16T09:48:43.720 に答える