我现在遇到一个问题,在调用动态dll后,程序第一次能够正常运行,第二次就不可以再调用,估计dll已经驻留内存,现在如何释放,使得我可以继续调用?请附您的解决办法

解决方案 »

  1.   

    如果你是用LoadLibrary调入的话,用FreeLibrary函数来释放。
      

  2.   

    Dll是别人写的,还是系统提供的。
    如果是别人写的,那么在调用结束时是否提供了释放所占用的内存或者是资源的函数,
    不管是正常结束还是异常结束,在结束的时候一定用调用哪个函数。
    如果是系统提供的,kernel32.dll,gdi32.dll 就不存在那些问题,只要你要释放用API函数申请得到的资源,或得到的内存块,或设备环境,如果你截获了窗口消息,要记得还原。