我再用LoadLibrary(), GetProcAddress()后,用FreeLibrary()来释放Dll.可是每次调用后程序占用的内存都增加一点.如何才能使dll在每次调用后使它的引用记数为0,并让windows完全释放呢?

解决方案 »

  1.   

    FreeLibrary后应该就释放了,你看看你的动态库初始化和运行中有没有分配内存,但在释放前没有释放这些内存
      

  2.   

    你的dll其它地方還有用到麼??如果 LoadLibrary 跟 FreeLibrary一一對應地話 應該是沒問題地。。而且 還有 就算 其引用計數為0 可是windows不一定馬上就釋放它。。
      

  3.   

    即使我在dll中写一个什么资源都不用的空函数,也还是不行,程序每次调用了dll还是会一点一点的变大。如果我把程序最小化了,再打开,程序占用的内存空间就会变小了,好像释放了。
      

  4.   

    还有一点就是,我在LibHandle := LoadLibrary()后,用LibHandle := 0来替代FreeLibrary()后,程序占用的内存就不会变大,这又是为什么呢?