请问如何能获取到当前正在运行的动态库的名称呢
我想用ACE_DLL_Singleton_T来管理我当前的DLL中断一些单件类,但是他要提供一个DLL的name给他才能在这个DLL卸载的时候进行删除。请问有办法能得到当前运行的DLL的名称吗?如果要硬编码在代码里面好像不好吧,DLL在加载前都是能改名称的。 顶一下吧,看来是没有办法获取了 肯定是有办法的。那么多插件系统怎么做的? 比如你可以通过接口,让DLL自己报告名字。 能不能具体说一下啊,我现在代码就是要获取当前DLL的名称。
其实就是Service/Config模式中,在finit调用的时候,将和他相关的所有单件对象删除掉(用ACE_DLL_Singleton_T)。
而且还有一个问题就是Service/Config中,如果加载dll像下面这样写:
dynamic Service_Name Service_Object * DLLName:_make_Service_Server()
则Service/Config框架中卸载ACE_DLL_Singleton_T相关的单件对象的时候使用的Dll名称就是DLLName,但是如果像下面这样写:
dynamic Service_Name Service_Object * ./DLLName:_make_Service_Server()
那框架卸载时用的Dll名称就是./DLLName
是否这是框架的一个问题,如果是这样的话,那我想那个ACE_DLL_Singleton_T基本上就没有什么用了。谁也不会知道Dll的执行路径和名称。
页:
[1]