MFC_DLL(二)

一、首先MFC的DLL分为两种:

         1、规则的DLL:可以被所有的window程序运用;

                主要包括:(1)共享MFC-DLL,这种比较小。DLL中不包含MFC的动态库,需要另外安装动态库

                                    (2)静态MFC-DLL,这种比较大些,DLL中包含有MFC的动态库,可以独立使用

        2、扩展DLL,DLL中所定义的函数和类都可以被MFC程序使用,是只能被MFC程序使用,DLL中不包含需要的MFC动态库


二、导入导出

          1、DEF文件

                   EXPORTS语句列出名称,可能的话还会列出DLL导出函数的序号值。通过在函数名的后面加上@符和一个数字,给函数分配序号值。当指定序号值时,序号值的范围必须是从1到N,其中N是DLL导出函数的个数。一般不能用于导出类(在扩展DLL中)

                                    ; 库名.def
                                    LIBRARY 库名
                                                     EXPORTS
                                                 函数名1  @1
                                                 函数名2  @2
                                                  ……
                                                 函数名n  @n

          2、关键字或者宏的方式

                 除了使用DEF文件来导出函数外,还可以在源程序中使用__declspec(dllexport)关键字或其替代宏AFX_EXT_CLASS:
                        #define AFX_EXT_CLASS  AFX_CLASS_EXPORT (定义在头文件afxv_dll.h中)
                        #define AFX_CLASS_EXPORT  __declspec(dllexport) (定义在头文件afxver_.h中)
                 来导出函数和整个C++类(扩展DLL中)。

  

                导出外部C格式           #define DllExport extern "C" __declspec(dllexport)


               

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值