我有个exe,假设是A,需要调用一个带窗口资源的dll,假设是B,B要调用一个数据访问的dll,假设是b1,b同时还调用一个检测网络状态的dll,假设是b2.A---B
B-----b1
 |------b2上面是调用关系。A调用B用的是LoadLibrary("B.dll");使用一堆函数,比如初始化窗口,显示,隐藏窗口,销毁窗口和各种资源。现在发现一个问题:
如果程序A不调用B,一定不会出现内存泄露。如果A调用B,一定出现内存泄露。
后来,我仔细检查了调用过程,发现A在调用B的方法过程中,没有泄露,也就是说,从loadlibrary开始,初始化,显示,隐藏,销毁,都没有泄露。
然后在关闭A的时候,出现了泄露,在关闭A的时候,响应了ondestroy函数,函数中freelibrary。
也就是说:泄露是发生在B的生命周期内。b1,b2的内存泄露,会不会导致这样的现象,