MFC的静态库.lib、动态库.dll(包含引入库.lib)以及Unicode库示例
以vs2012为标准。转自:http://technet.microsoft.com/zh-cn/library/w4zd66ye ,有改动。
一 MFC的静态库(.lib)
MFC静态库使用下列命名约定:
uAFXcWd.LIB .
库命名约定的说明符如下:
说明符 | 值和含义 |
u | (n) ANSI 或 (u)Unicode |
c | 创建的计划类型:c=all |
d | d=debug版本; release版本略去说明符 |
默认值为生成用于 Intel 平台的调试版本 windows ANSI 应用程序的静态库:NAFXCWD.Lib.
下表列出的所有库是在 \ atlmfc \ lib 目录中包含预生成的静态库。
静态链接库命名约定:
库 | 说明 |
NAFXCW.LIB | MFC 静态链接库,发布版本 |
NAFXCWD.LIB | MFC 静态链接库,调试版本 |
UAFXCW.LIB | MFC 具有 Unicode 的静态链接库支持,发布版本 |
UAFXCWD.LIB | MFC 具有 Unicode 的静态链接库支持,调试版本 |
二 MFC的动态库(含引入库.lib)
MFC 中包含的 DLL 和库遵循结构化命名约定。这使了解应为什么目的使用哪个 DLL 或库变得更容易。
生成使用这些 DLL 的应用程序或扩展 DLL 所需的导入库与 DLL 具有相同的基本名称,但带有 .lib 文件扩展名。
共享 DLL 命名约定:
DLL(导入库.lib) | 说明 |
MFCxx.DLL (MFCxx.lib/MFCSxx.lib) | MFC DLL,ANSI 发布版本 |
MFCxxU.DLL (MFCxxU.lib/MFCSxxU.lib) | MFC DLL,Unicode 发布版本 |
MFCxxD.DLL (MFCxxD.lib/MFCSxxD.lib) | MFC DLL,ANSI 调试版本 |
MFCxxUD.DLL (MFCxxUD.lib/MFCSxxUD.lib) | MFC DLL,Unicode 调试版本 |
三 MFC所有Unicode库示例
MFC 库的 Unicode 版本如下述:
静态链接库:
发布(Release) | 调试(Debug) | 说明 |
UAFXCW.lib, .pdb | UAFXCWD.lib, .pdb | Unicode MFC 静态链接库 |
动态链接库:
发布(Release) | 调试(Debug) | 说明 |
MFC100U.lib, .dbg, def, .dll, .map, .pdb, .prf | MFC100UD.lib, .def, .dll, .map, .pdb | Unicode MFC 包含应用程序或 DLL 必须静态链接的代码的导入库 |
MFCS100U.lib, .pdb | MFCS100UD.lib, .pdb | Unicode MFC 包含应用程序或 DLL 必须静态链接的代码的导入库 |
文件类型:
-
导入库文件具有扩展名 (.lib)。
-
动态链接库文件具有扩展名 (.dll)。
-
模块定义 (.def) 文件是包含定义的 .exe 或 .dll 语句的文本文件。
-
映射 (.map) 文件是包含信息链接器使用,在链接程序中的文本文件。
-
导入库 (.lib) 文件与 MFC 的 DLL 版本一起使用。 这些文件包含应用程序或 DLL 必须静态链接的代码。
-
程序数据库 (.pdb) 文件中调试和项目状态信息。
-
调试 (.dbg) 文件包含 Visual C++ 调试器使用的信息 (COFF FPO 和 CodeView)。