3

単一の dll を共有する dll のキャストを作成しています。

共有ライブラリにはシングルトンがあります。

実行時に、一部の OS ロード ライブラリがシングルトンの新しいインスタンスを作成します。dllを使用するすべてのライブラリとプログラムが常にシングルトンの 1 つのインスタンスを使用するように強制するにはどうすればよいですか?

4

1 に答える 1

2

シングルトン インスタンスを複数のプロセス間で共有することはできません。ただし、この目的のために共有メモリを使用できます。

次の例は、DLL エントリポイント関数がファイル マッピング オブジェクトを使用して、DLL を読み込むプロセスで共有できるメモリを設定する方法を示しています。共有 DLL メモリは、DLL がロードされている間だけ保持されます。アプリケーションは SetSharedMem および GetSharedMem 関数を使用して共有メモリにアクセスできます。

http://msdn.microsoft.com/en-us/library/windows/desktop/ms686958(v=vs.85).aspx

于 2012-08-28T13:54:39.947 に答える