Singleton:C ++共享dll

时间:2012-08-28 13:48:05

标签: c++ c windows dll shared-libraries

我正在创建一个共享单个dll的dll。

共享库有一个Singleton。

运行时,一些os加载的库会生成我的单例的新实例。如何使用我的dll强制所有的库和程序使用总是我的单例实例?

1 个答案:

答案 0 :(得分:2)

您不能只在多个进程之间共享单例实例。但是你可以为此目的使用共享内存:

以下示例演示DLL入口点函数如何使用文件映射对象来设置可由加载DLL的进程共享的内存。只要加载DLL,共享DLL内存就会保留。应用程序可以使用SetSharedMem和GetSharedMem函数来访问共享内存。

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