vc++ DLL开发小结

本文总结了VC++ DLL开发的相关知识,包括DLL的性质、类型、导出函数、导出变量以及导出类的方法,并提供了具体的示例代码。强调了在不同情况下如何正确声明和使用DLL中的函数和变量。
摘要由CSDN通过智能技术生成

DLL开发总结

一概论

       DLL(Dynamic Linkable Library),你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量,函数。

       静态库和动态库都是共享代码的方式,它们的区别请参见我的上一篇博文。

  1. DLL的编制与具体的变成语言及编译器无关

只要遵循约定的DLL接口规范和调用方式,用各种语言编写的DLL都可以

相互调用,譬如Windows提供的系统DLL,在任何开发环境中都能被调用,不在乎其实VisualBasics、Visual C++还是Delphi。

  1. VC动态链接库的分类

VisualC++支持三种DLL,它们分别是Non-MFCDLL(非MFC动态库)、MFC

Regular DLL(MFC规则的DLL)、MFCExtension DLL(MFC扩展DLL)。

       非MFC动态库不采用MFC类库结构,其导出函数为标准的C接口,能被非MFC编写的应用程序所调用;MFC规则DLL包含一个继承自CWinApp的类,但其无消息循环;MFC扩展DLL采用MFC的动态链接版本创建,她们只能被用MFC类库所编写程序所调用。

 

二导出函数

      DLL中导出函数的声明有两种方式:一种是在函数声明中加上__declspec(dllexport),另外一种是采用模块定义(.def)文件声明,.def文件为链接器提供了有关被链接程序的导出、属性及其他方面的信息。

       ①extern “C” int __declspec(dllexport) add(int x, int y);怎样使用可以参见上一篇博客——静态库与动态库的区别。

②LIBRARY dllTest

EXPORTS

add @1

.def文件的规则为:

       ①LIBRARY语句说明.def文件相应的DLL;

       ②EXPORTS语句后列出要导出函数的名称。可以在.def文件中的导出函数后面加@n,表示要导出函数的序号为n

       ③.def文件中的注释由每个注释行开始处的分号指定,且注释不能与语句同行。

       使用.def文件在使用时,可以这样

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值