如果在dll中使用了ace_singleton,则可能会造成内存泄露;
原因是ace_singleton使用ACE_Object_Manager来完成垃圾回收工作,而ACE_Object_Manager在dll中,虽然使用了ACE::ini却不见得能正常工作的; 可以用ACE_Unmanaged_Singleton代替,因为有close方法来清空对象。或者干脆自己来简单写一个单件类。
如果在dll中使用了ace_singleton,则可能会造成内存泄露;
原因是ace_singleton使用ACE_Object_Manager来完成垃圾回收工作,而ACE_Object_Manager在dll中,虽然使用了ACE::ini却不见得能正常工作的; 可以用ACE_Unmanaged_Singleton代替,因为有close方法来清空对象。或者干脆自己来简单写一个单件类。