谢谢

解决方案 »

  1.   

    lib是DLL 在内存地址中的一个副本,程序根据lib中的函数名在DLL中查找函数
      

  2.   

    lib包含dll的连接信息,这称为隐式连接。还有一种显示连接,是用LoadLibrary装入dll,再用GetProcAddress取dll中相应函数的地址,最后用这个函数地址调用函数。
      

  3.   

    lib是引入库,引入库文件包含被DLL导出的函数的名称和位置,DLL包含实际的函数和数据,应用程序使用LIB文件链接到所需要使用的DLL文件,库中的函数和数据并不复制到可执行文件中,因此在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中所要调用的函数的内存地址,这样当一个或多个应用程序运行是再把程序代码和被调用的函数代码链接起来,从而节省了内存资源。从上面的说明可以看出,DLL和.LIB文件必须随应用程序一起发行,否则应用程序将会产生错误。
      

  4.   

    静态连接时编译的应用程序不必将.LIB文件也发行,因为应用程序在编译的时候,已经将LIB文件信息编译进来了,你可以试一下,采用该方式编译的程序和.DLL文件放在同一目录下即使没有.LIB也正常运行