*.lib究竟是怎么生成的,有什么用呢?
我打开一个源程序有不少*.lib文件,不明白是干什么的,希望高手予以解答

解决方案 »

  1.   

    有两种情况 ,除了是“静态库文件,可以认为里面封装了一些你的程序需要使用的函数或者资源,编译的时候使用,编译后就没有用了

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

  2.   

    这个静态库文件或者引入库文件*.lib是怎样建立的?
      

  3.   

    你在使用VC的时候 在project里可以选择  Win32 static library 生成静态库 ,也就是我所说的第一种情况
    还可以 选择win32 dynamic-link library 或者 mfc appwizard (dll) 建立dll工程,这是我上面介绍的第而中情况。
    具体怎么开发静态库或者dll 不是一两句话能说清楚的 ,需要你看看书。
      

  4.   

    可以看看 《windows 核心编程 》  或者 《vc技术内幕》 都有讲解
      

  5.   


    我记得我们上Windows的时候要做的!
    *.lib:静态连接库[Win32 Static Library]
    *.dll:做好的时候会产生一个.lib,把它拷贝到
    需要调用这个dll的源文件的同一个目录并且Add into it.我所知道的就这些了。。
      

  6.   

    隐式链接DLL时要用到LIB库文件在链接阶段需要DLL的LIB库在编译时解析输入符号
      

  7.   

    主要可能是静态库,但是也有不少做成了DLL的导入库主要的作用是指导链接器链接代码,确定符号被载入的方法。如此而已……
      

  8.   

    被用在程序编译时连接用的库文件,能够封装函数或者类,在建立一个dll工程的时候会产生.lib文件。
      

  9.   

    被用在程序编译时连接用的库文件,能够封装函数或者类,在建立一个dll工程的时候会产生.lib文件。
      

  10.   

    在实用动态库的时候,当我们用显示连接的时候,就有一个def文件,然后这个文件包含了这个动态库的导出信息
     
      当我们用隐式连接的时候,就不用def文件了,LIB文件包含被DLL导出的函数的一些信息,有点代替了这个def文件的作用的意思在里面 然后当我们用dll时候,这个相应的LIB文件就要被加到客户程序工程中, 在你创建动态库的时候,编译以后,会同时产生dll文件和LIB文件
      

  11.   

    1. 静态库,将作为应用程序的一部分为应用程序提供功能
    2. 动态库的静态加载链接,用来为应用程序使用 dll 提供符号链接