奇怪:用FreeLibrary释放Dll程序会停止(100分)

  • 主题发起人 主题发起人 archer_xl
  • 开始时间 开始时间
A

archer_xl

Unregistered / Unconfirmed
GUEST, unregistred user!
系统是这样的:一个主程序启动时按照一定顺序用LoadLibrary方法加载一些dll,关闭时按照相互之间的调用关系,按顺序用FreeLibrary放掉没有被引用过的dll。现在的问题是:有一个Dll(A),调用了其他Dll而本身未被其他Dll调用,在关闭程序时,A被第一个放掉,但在执行FreeLibrary语句时,程序会停止,不往下走,当然也得不到有返回值和任何异常。在调试环境下不出现这个问题,在没有开发环境的测试机上随机出现。<br>急啊。。。。。。。。。。
 
释放顺序错误!!应当是新引用的后释放,堆栈方式
 
不是按照堆栈方式释放的,因为Dll之间会有方法调用,是按照实际的调用关系释放的。另外,如果是顺序错误,怎么也应该报一个错吧,不至于停在那里
 
后退
顶部