Dll调用的另一个Dll该如何释放?(100分)

  • 主题发起人 主题发起人 hophy
  • 开始时间 开始时间
H

hophy

Unregistered / Unconfirmed
GUEST, unregistred user!
我的Exe调用了Dll A,Dll A再调用Dll B。
在Dll A释放的时候执行下列语句来释放Dll B:
while FreeLibrary(DllB) do;
可是,关闭Exe的时候在这里死循环了。
但是,如果我在Exe中先显式地调用“while FreeLibrary(DllA) do”,把Dll A先释放调的话,那么这时会触发执行的“while FreeLibrary(DllB) do;”又不会死循环了。
谁能解释是什么原因呢?
 
FreeLibrary还要用到循环吗?只要调用一下就可以了啊
 
FreeLibrary(DllB)
不用循环,而且本着即用即释放的原则,
应该是在你DLLA的某个地方用完了就Free
 
后退
顶部