当前位置:  编程技术>c/c++/嵌入式

c++中.dll与.lib文件的生成与使用的详解

    来源: 互联网  发布时间:2014-10-13

    本文导语:  c++中.dll与.lib文件的生成与使用的详解 -------------------------------------------------------------------------------- 两种库: •  包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为...

c++中.dll与.lib文件的生成与使用的详解

--------------------------------------------------------------------------------

两种库:

•  包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。
•  包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。
共有两种链接方式:

•  动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运行时定位DLL函数的可执行代码所需的信息。
•  静态链接使用静态链接库,链接器从静态链接库LIB获取所有被引用函数,并将库同代码一起放到可执行文件中。

--------------------------------------------------------------------------------

两种文件的区别

--------------------------------------------------------------------------------

使用lib需注意两个文件:

•.h头文件,包含lib中说明输出的类或符号原型或数据结构。应用程序调用lib时,需要将该文件包含入应用程序的源文件中。
•.LIB文件。

使用dll需注意三个文件:

•.h头文件,包含dll中说明输出的类或符号原型或数据结构的.h文件。应用程序调用dll时,需要将该文件包含入应用程序的源文件中。
•.LIB文件,是dll在编译、链接成功之后生成的文件,作用是当其他应用程序调用dll时,需要将该文件引入应用程序,否则产生错误(如果不想用lib文件或者没有lib文件,可以用WIN32 API函数LoadLibrary、GetProcAddress装载)。
•dll文件,真正的可执行文件,开发成功后的应用程序在发布时,只需要有.exe文件和.dll文件,并不需要.lib文件和.h头文件。

--------------------------------------------------------------------------------

生成和使用方法

--------------------------------------------------------------------------------

操作系统:WIN7

开发软件:VS2010

--------------------------------------------------------------------------------

1.生成lib文件

  首先,我们先建立一个控制台工程(新建->工程->控制台程序),添加add.cpp以及add.h文件。

代码如下:

//sub.h
#ifndef _SUB_H
#define _SUB_H
void sub(int a,int b);
#endif

//sub.cpp
#include "sub.h"
#include

void sub(int a,int b)
{
    std::cout


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • MINGW生成dll,
  • 怎么生成lib或dll
  • qt生成的EXE文件需要它本身的DLL文件才能执行。请问怎么解决
  • 在Linux下使用GCC如何编译生成Windows下使用的DLL?
  • C#调用Matlab生成的dll方法的详细说明
  • 如何将vc下生成的dll源程序 改造成能够在 linux下编译成 .so文件的源代码? 哪里有这方面的文章?
  • WindowsXP下,QT+Dev-Cpp5,编译生成的exe文件执行时提示需要minGWM10.dll问题
  • VB编写的DLL不能被JAVA调用,用C将VB编写的DLL包装起来,做成一个新的DLL;用C编写的DLL可以被JAVA调用,用JAVA再进行一层的包装,因为JAV
  • 请问如何在Java中调用一个VB所写的DLL?如何调用这个Dll的方法?如何取得和设置这个Dll的属性值?谢谢!
  • 急!有没有工具可将用gcc编译得到的dll转变成微软的VC++能识别的dll?
  • Karnak(神庙)请进,dll调dll问题的延续
  • 怎样在JSP和SERVLET里使用DLL,包括COM类的DLL(一定给分)
  • 为什么调用DLL总是出现no FirmClient.dll in java.librayry.path?
  • java中能调用VB写的Dll吗?是不是只能调VC写的dll?
  • java调用dll的问题???至今没有解决!!!求救!!!
  • 请问如何用java调用C的Dll库
  • Python 调用DLL操作抄表机
  • 调用dll的问题???请高手指教!!!
  • jsp如何调用dll中的函数?
  • 在java里如何调用DLL
  • 请问java高手,谁知道java怎么用 *.dll ???
  • linux获取dll路径
  • Linux下如何调用VB编写的dll?
  • java调用C/C++编写的DLL文件问题,请有经验的高手指教?
  • windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
  • 在cygwin上可以编写vc用的dll吗?
  • 哪位高手有兴趣跟我讨论讨论java中调用dll文件??小弟有些问题还是不很清楚??




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3