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
dd=debug版本; release版本略去说明符

默认值为生成用于 Intel 平台的调试版本 windows ANSI 应用程序的静态库:NAFXCWD.Lib.

下表列出的所有库是在 atlmfc lib 目录中包含预生成的静态库。

静态链接库命名约定:

说明
NAFXCW.LIBMFC 静态链接库,发布版本
NAFXCWD.LIBMFC 静态链接库,调试版本
UAFXCW.LIBMFC 具有 Unicode 的静态链接库支持,发布版本
UAFXCWD.LIBMFC 具有 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, .pdbUAFXCWD.lib, .pdbUnicode MFC 静态链接库

 

动态链接库:

发布(Release)调试(Debug)说明
MFC100U.lib, .dbg, def, .dll, .map, .pdb, .prfMFC100UD.lib, .def, .dll, .map, .pdbUnicode MFC 包含应用程序或 DLL 必须静态链接的代码的导入库
MFCS100U.lib, .pdbMFCS100UD.lib, .pdbUnicode MFC 包含应用程序或 DLL 必须静态链接的代码的导入库

 

文件类型:

  • 导入库文件具有扩展名 (.lib)。

  • 动态链接库文件具有扩展名 (.dll)。

  • 模块定义 (.def) 文件是包含定义的 .exe 或 .dll 语句的文本文件。

  • 映射 (.map) 文件是包含信息链接器使用,在链接程序中的文本文件。

  • 导入库 (.lib) 文件与 MFC 的 DLL 版本一起使用。 这些文件包含应用程序或 DLL 必须静态链接的代码。

  • 程序数据库 (.pdb) 文件中调试和项目状态信息

  • 调试 (.dbg) 文件包含 Visual C++ 调试器使用的信息 (COFF FPO 和 CodeView)。