以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)。