库文件*.lib 动态链接文件*.dll有什么区别,平时总是听到库文件,但我发现自己现在对库文件的概念还很模糊。

解决方案 »

  1.   

    .lib就是.dll的一个调用接口,如果静态链接,你的程序通过.lib的接口调用.exe相同目录或系统目录的.dll如果不用.lib, 也可以调用.dll。如:
    void HideProcess()
    {
    HINSTANCE hInst = LoadLibrary("KERNEL32.DLL"); 
    if(hInst) 
    {            
    typedef DWORD (WINAPI *MYFUNC)(DWORD,DWORD);          
    MYFUNC RegisterServiceProcessFun = NULL;     
    RegisterServiceProcessFun = (MYFUNC)GetProcAddress(hInst, "RegisterServiceProcess");
    if(RegisterServiceProcessFun)     
    {             
    RegisterServiceProcessFun(GetCurrentProcessId(),1);     
    }     
    FreeLibrary(hInst); 
    }
    }只有.lib没有.dll不能调用。
      

  2.   

    lib是连接信息,如函数的地址等等。
    DLL是函数代码的所在。