我知道lib的用#pragma comment (lib,"")
来载入, 但最近遇到dll出错要卸载后载入才能继续运行 #pragma comment (lib,"")能不能卸载后再载入啊
好像 LoadLibrary 要以和 FreeLibrary 实现载入与卸载。 但我不知道lib 加上 dll的这种能不能实现
对dll不太熟,请大家指教下,谢谢!

解决方案 »

  1.   

    lib是编译链接的时候就添加到了可执行文件的里面,不存在卸载的问题。
    可执行文件使用dll的时候,是在可执行文件里面有个地址表,记录dll中的函数地址,他是通过跳转到这个地址去执行来使用dll中的函数,而使用lib的时候,可执行文件直接将lib中的代码写入到了可执行文件内部。
      

  2.   

    #pragma comment (lib,"")是隐式加载;
    LoadLibrary是显式加载;
    都可以
      

  3.   


    LoadLibrary
    FreeLibrary
    反复调用会出错
    我是想出错的时候就把 dll卸载了再重载过。dll的调用也加了临界,但还是要出现错误怎么有没有人知道什么原因的,谢谢
      

  4.   

    出什么错?是不是有什么清理工作没有做?或者DLL本身有缺陷?
      

  5.   

    当然能
    LoadLibrary加载DLL跟lib没关系