-1

C++ でスレッド セーフなシングルトン クラスを実装しています。メソッドを保護するミューテックスを初期化する方法が必要getInstance()です。

これは自己完結型の共有ライブラリであるため、別のクラスのミューテックスを使用することはできません。クラス内で初期化する方法を見つける必要があります。

ライブラリはさまざまなプラットフォームに移植する必要があるため、mutex を次のように考えてみましょう。

static void * OS_mutex;

そしてそれを初期化するには、使用します

OS_Mutex_Init ( void * mutex);

ネストされたクラスを実装しようとしましたが、そのコンストラクターで OS_mutex 構造を初期化しました。

しかし、私はいくつかの問題に遭遇しました.誰かが私が必要とするものを達成する方法を知っていますか? 参考文献やリンクは大歓迎です。

4

1 に答える 1

0

まず、変数として宣言します。

static MyStruct OS_Mutex;

どこ:

struct MyStruct
{
    void* pointer;
    MyStruct() : pointer(0)
    {
        // Called on initialization of global variables by the CRT

        // You can call here your function OS_Mutex_Init()
        // Or you can use lazy initialization (leave the pointer to 0,
        // and initialize it only when someone needs it)
    }
};

次に、これらの2つの回答が役立つ場合があります。

于 2012-12-11T16:04:23.937 に答える