MFC:_AFXDLL

Posted aibox222

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC:_AFXDLL相关的知识,希望对你有一定的参考价值。

  • _AFXDLL是一个在VC++的MFC程序中的系统约定宏定义。

    这个定义本身没有什么意义,只是约定标记了,MFC程序,是使用的静态链接库还是动态链接库。如果定义了这个宏(通常是在工程项目属性中),说明使用的是MFC动态链接,否则为MFC静态链接。
    在这两种情况下,代码中DECLARE_MESSAGE_MAP的消息映射定义都是存在的,只是有一个细微的差别。这个差别就是,静态链接因为MFC的基础代码在程序内部,因此不需要创建动态链接接口,而动态调用MFC库,则需要有接口,因此需要一个_GetBaseMessageMap产生动态库地址偏移,完成MFC基础类函数映射的入口地址指向



以上是关于MFC:_AFXDLL的主要内容,如果未能解决你的问题,请参考以下文章

1 IntelliSense: #error 指令: Please use the /MD switch for _AFXDLL builds

添加 _AFXDLL 宏和 clr 支持后找不到 InterlockedAdd64

如果 MFC RUNTIME_CLASS 参数具有命名空间,则编译器错误

IntelliSense: #error 指令: Please use the /MD switch for _AFXDLL builds

CMake构建Visual Studio中MFC项目的MFC配置问题

CRichEditCtrl 在使用 MFC 编写的共享 dll 中无法正常工作?