小 结 :
1.MFC 的使用方式 对 默 认 情况 选择 的Run-time library 的影响( 以Debug 版本 为 例) :
Not Using MFC //MLd:Debug Single-Threaded (静 态连 接LIBCD.LIB 库 )
Use MFC in a Shared DLL //MDd: Debug Multithreaded DLL ( 动态连 接MSVCRTD.DLL 库 )
Use MFC in a Static DLL //MTd:Debug Multithreaded (静 态连 接LIBCMTD.LIB 库 )
2. 如果不使用MFC ,在Link 一 栏 一般会 连 接一系列Windows API 的 库 文件;如果使用MFC , 这 些 连 接 库 就会“ 消失” 。
3.Debug 版本一般会有_DEBUG 的 预 定 义 ,而Release 版本 则 定 义 NDEBUG 。
4. 使用Shared MFC 和Static MFC 相比,前者一般多一个_AFXDLL 的定 义 。默 认 使用的Run-time Library 也不一 样 ,前者 为 /MDd ,后者 为 /MTd 。
5.MFC 的普通DLL 项 目比MFC 的EXE 项 目,一般多_WINDLL 和_USRDLL 预 定 义 ; 连 接参数多一个/dll 定 义 。 而 MFC 扩 展 DLL 项 目与 MFC 普通 DLL 项 目相比, 预 定 义 将 _USRDLL 换 成了 _AFXEXT 。
6. 不使用MFC 的Win32 DLL 与MFC DLL 相比, 预 定 义 少了_WINDLL 和_AFXDLL ,而 仅 保留了_USRDLL 。
7. 不使用MFC 的静 态库 有_LIB 的 预 定 义 。
8.#include <afxwin.h> 和#include <windows.h> 不能重 复 包含,前者用于MFC 程序,后者用于程序。
9. 为 了去掉Windows 头 文件中很少用到的定 义 ,一般在stdafx.h 中,Win32 程序会定 义 #define WIN32_LEAN_AND_MEAN ,而MFC 程序会定 义 #define VC_EXTRALEAN 。
10. 作 为 本文的 应 用,改 变项 目参数 设 置, 实现 不同 类 型 项 目之 间 的 项 目 转换 ,如下:
MFC Exe <======> MFC DLL || ||
Win32 Exe <======> Win32 DLL
Microsoft Visual C++ 6.0 各类工程配置说明(三)
最新推荐文章于 2024-09-11 11:39:26 发布