ACE_Singleton在dll跟exe中两个不同实例的问题
关于ace_singleton的问题,一个dll中声明了这样一个单体:typedef ACE_Singleton<NetProcessor, ACE_Null_Mutex> NetProcessorSingleton;
dll中用的NetProcessorSingleton::instance() 跟exe中用的NetProcessorSingleton::instance()是两个不同的实例。
这个怎么解决呢 把exe中的去掉,dll中的改成ACE_Unmanaged_Singleton。
这样在用service configurator替换不同的dll时,可以有不同的实例。 wishel正解。楼主要读书哦,书上写的一清二楚。 我看了ace的三本书,好像没看过这方面的内容,你们是看哪些书? 书上有的。内容太多,需要经常翻阅,否则一些细节内容,很快就忘记了。 楼上的都答非所问
楼主建议你去ACE的源码中搜索:ACE_SINGLETON_DECLARE.
楼主用DLL,肯定知道dllimport dllexport吧
这个typedef的模板类所实例化的类也要dllexport.
另外参见:
http://groups.google.com/group/comp.soft-sys.ace/browse_thread/thread/ca5cca2ee22eb866/31f1ee30bfc5fcf4?lnk=raot ls的id比较有趣
是fowler的fans么?
页:
[1]