深入浅出Visual C++动态链接库(Dll)编程

动态链接库(DLL)是Windows系统的核心,也是COM技术的基础,因此突破动态链接库一直是技术人员的攻坚目标,本期专题将由浅入深的介绍动态链接库的基础慨念、分类、实现和应用。

1.基础慨念
  我想首先阐述一下动态链接库DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。 [全文阅读]

2.非MFC DLL
  前文给出了以静态链接库方式提供add函数接口的方法,接下来我们来看看怎样用动态链接库实现一个同样功能的add函数。 [全文阅读]

3.MFC规则DLL
  MFC规则DLL的概念体现在两方面: (1) 它是MFC的; “是MFC的”意味着可以在这种DLL的内部使用MFC; (2) 它是规则的; “是规则的”意味着它不同于MFC扩展DLL,在MFC规则DLL的内部虽可以使用MFC,但其与应用程序的接口不能是MFC。而MFC扩展DLL与应用程序的接口可以是MFC,可从MFC扩展DLL中导出一个MFC类的派生类。 [全文阅读]

4.MFC扩展 DLL
  MFC扩展DLL与MFC规则DLL的相同点在于在两种DLL的内部都可以使用MFC类库,其不同点在于MFC扩展DLL与应用程序的接口可以是MFC的。MFC扩展DLL的含义在于它是MFC的扩展,其主要功能是实现从现有MFC库类中派生出可重用的类。 [全文阅读]

5.DLL典型实例
  动态链接库DLL实现了库的共享,体现了代码重用的思想。我们可以把广泛的、具有共性的、能够多次被利用的函数和类定义在库中。这样,在再次使用这些函数和类的时候,就不再需要重新添加与这些函数和类相关的代码。具有共性的问题大致有哪些呢? [全文阅读]

6.DLL木马 
  DLL在程序编制中可作出巨大贡献,它提供了具共性代码的复用能力。但是,正如一门高深的武学,若被掌握在正义之侠的手上,便可助其仗义江湖;但若被掌握在邪恶之徒的手上,则必然在江湖上掀起腥风血雨。DLL正是一种这样的武学。 [全文阅读]

7.读者反馈与答复
  自从本文开始连载后,收到了一些读者的e-mail。有的读者提出了一些问题,笔者在本文中选取其中的典型问题进行解答。 [全文阅读]

原地址:
1.太平洋: http://www.pconline.com.cn/pcedu/empolder/gj/vc/0509/698632.html
2.天极Yesky: http://soft.yesky.com/lesson/318/2166818.shtml


 
动态链接库DLL)是在Windows操作系统中广泛使用的一种可执行文件格式,它包含了可重用的代码和数据,可以被多个程序共享和调用。通过将一些常用功能封装在DLL中,可以简化程序开发和维护工作,提高代码的复用性。 在Visual C++中进行DLL编程可以通过使用动态链接库项目模板来创建和开发。首先,我们需要定义并导出需要在DLL中使用的函数和数据。在函数定义前加上__declspec(dllexport)修饰符可以将其导出为DLL中的可用接口。导出的函数可以在其他程序中使用,来实现相关功能。 其次,必须在DLL项目的配置属性中指定相应的选项。需要设置输出类型为动态链接库,同时选择合适的平台和工具集。可以指定DLL的输出文件名和路径,以及其他编译和链接选项。 在DLL编程中,可以使用静态链接或动态链接的方式进行函数调用。在静态链接中,函数在编译时被复制到程序中,因此程序的大小会增加。而在动态链接中,调用函数时会在运行时从DLL中加载,并且可以在系统中共享,减小了程序的体积。 DLL编程还常用于插件开发。插件是一种独立的功能模块,可以在程序运行时通过加载DLL扩展功能。这样,程序的功能可以灵活地进行扩展和更新,提高了可定制性和可维护性。 总结来说,深入浅出Visual C++ DLL编程是通过使用动态链接库项目模板在Windows操作系统中创建和开发可重用的代码和数据。使用DLL可以简化程序开发和维护工作,提高代码复用性。通过在DLL中定义和导出函数和数据,可以在其他程序中使用来实现相关功能。DLL编程适用于静态链接和动态链接方式进行函数调用,常用于插件开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值