动态链接库介绍和编程

今天把前段时间学习的DLL总结一下:

 

一,DLL(动态链接库)的介绍:

     Microsoft公司自从推出第一个Windows程序以后,DLL就成为了Windows的一部分。DLL不能直接运行,也不能接收入信息,它们可以为其他的应用程序或DLL调用.

    Windows API中所有的函数都包含在DLL中,其中有三个最主要的DLL文件:

    1,Kernel32.dll:主要用于内存的管理,进程和线程的函数。如:CreateThread();

    2,user32.dll:主要用于用户界面。如:MessageBox(); CreateWindow();

    3,gdi32.dll:用于画图和显示文本。

二,动态链接库和静态链接库的介绍:

    静态链接库:函数和数据被编译成一个二进制文件(通常扩展名为.lib)。在编译、链接可执行文件时,链接器把链接库中的函数和数据复制程序中和其他的程序进行组合,最终生成可执行文件中(.exe)。通常提供lib文件即可。

    动态链接库:提供两个文件,一个“引入库”,一个DLL。引入库包括导出的函数名和变量,而DLL则包含了实际函数和数据。当编译、链接可执行文件时,只需链接引入库,并不会复制函数和数据。当可执行文件执行时会动态的加载DLL函数和数据。

 

三,使用动态链接库优点:

  1,可以使用多种语言编写。如:c++,VB

  2,可以进行程序的二次开发。

  3,可以节省内存和磁盘空间。如:多个程序使用同一DLL

  4,方便资源的共享。如:我们可以在多个应用程序中使用功能相同的DLL,共享资源DLL

  5,有助于实现应用程序的本地化。如:多语言的支持

 

四,DLL加载的两种方式:

  1,隐式链接

  2,显示加载:

 

   其他应用程序或链接库如果想要使用DLL中的函数或数据,必须要是DLL中声明导出的函数。可以用Dumbin工具(install catalog)查看。

 如果这个工具不能使用,说明VS安装环境被破坏了,我们可以在安装目录下找到vcvars32.bat文件,执行此文件就可以了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值