_USRDLL _AFXDLL _WINDLL _AFXEXT等宏控制的三种dll编译宏的具体含义

来源:互联网 发布:java 字符型二维数组 编辑:程序博客网 时间:2024/05/26 09:54

1 DLL分类:

  1 MFC Extension Dll

         MFC扩展动态库,动态库内部可以使用MFC类,提供的外部接口也可以使用MFC类作为参数。也就是说MFC类可以在调用者与dll间相互传递。

         调用者与DLL需使用相同版本MFC动态库。

         WIN32,_DEBUG,_WINDOWS,_WINDLL,_AFXDLL,_MBCS,_AFXEXT

  2 MFC Regual  DLL:

       MFC标准动态库,动态库内部可以使用MFC类,但其提供的外部接口不能使用MFC类,也就是说MFC类不可再调用者与dll间相互传递。

       WIN32,_DEBUG,_WINDOWS,_WINDLL,_AFXDLL,_MBCS,_USRDLL

  3 Win32 DLL 

      Win32动态库,没有任何与MFC相关的dll。

      WIN32,_DEBUG,_WINDOWS,_MBCS,_USRDLL,

2 宏

        _WINDLL 表示要做一个用到MFC的DLL
  _USRDLL 表示做一个非扩展MFC DLL(相对MFC扩展DLL而言)
  _AFXEXT 表示要做一个MFC扩展DLL

      这3个宏搭配可定义以上3种DLL

     


       _AFXDLL 表示MFC以动态链接库形式提供,Using MFC in a Shared DLL;

                        否则代表MFC以静态方式连接,Using MFC in a static Library;





0 0
原创粉丝点击