Singleton:C ++共享DLL

我正在创build一个共享单个dll的dll文件。

共享库有一个单身人士。

运行时,一些os加载库创build我的单例的新实例。 我怎样才能强制所有库和程序使用我的DLL 总是使用我的单身人士的一个实例?

你不能在几个进程之间共享你的单例实例。 但是你可以使用共享内存来达到这个目的:

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

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