Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/9 22:39:32
visual c++中常用MFC文件及库文件

visual c++中常用MFC文件及库文件

visual c++中常用MFC文件及库文件

利用MFC App编写MFC应用程序时,程序标准功能的实现借助了MFC的类定义文件,MFC应用程序框架的stdafx.h头文件中包含了声明这些类的MFC头文件。此外,MFC应用程序框架还需利用Windows本身提供的功能文件和API函数。表1为MFC文件和Windows系统提供的库文件列表。



表1 MFC文件和Windows系统提供的库文件列表

MFC的头文件Afx.h(在路径“…Microsoft Visual StudioVC98MFCInclude”下)中设置了需要使用的动态链接库和静态链接库,以下便是Afx.h中相关源代码:

// Win32 libraries

#ifndef _AFXDLL //静态链接MFC

#ifndef _UNICODE

#ifdef _DEBUG

#pragma comment(lib, "nafxcwd.lib") //静态链接库(Debug版)

#else

#pragma comment(lib, "nafxcw.lib") //静态链接库(Release版)

#endif

#else

#ifdef _DEBUG

#pragma comment(lib, "uafxcwd.lib")

#else

#pragma comment(lib, "uafxcw.lib")

#endif

#endif

#else

#ifndef _UNICODE //动态链接MFC

#ifdef _DEBUG

#pragma comment(lib, "mfc42d.lib") //动态链接库MFC DLL

#pragma comment(lib, "mfcs42d.lib") //静态链接库MFC DLL

#else

#pragma comment(lib, "mfc42.lib") //动态链接库MFC DLL

#pragma comment(lib, "mfcs42.lib") //静态链接库MFC DLL

#endif

#else

#ifdef _DEBUG

#pragma comment(lib, "mfc42ud.lib") //动态链接库MFC DLL

#pragma comment(lib, "mfcs42ud.lib") //静态链接库MFC DLL

#else

#pragma comment(lib, "mfc42u.lib") //动态链接库MFC DLL

#pragma comment(lib, "mfcs42u.lib") //静态链接库MFC DLL

#endif

#endif

#endif

#ifdef _DLL

#if !defined(_AFX_NO_DEBUG_CRT) && defined(_DEBUG)

#pragma comment(lib, "msvcrtd.lib") //动态链接C运行函数库(Debug版)

#else

#pragma comment(lib, "msvcrt.lib") //动态链接C运行函数库(Release版)

#endif

#else

#ifdef _MT

#if !defined(_AFX_NO_DEBUG_CRT) && defined(_DEBUG)

#pragma comment(lib, "libcmtd.lib") //静态链接C运行函数库多线程

#else

#pragma comment(lib, "libcmt.lib")

#endif

#else

#if !defined(_AFX_NO_DEBUG_CRT) && defined(_DEBUG)

#pragma comment(lib, "libcd.lib") //静态链接C运行函数库单线程

#else

#pragma comment(lib, "libc.lib")

#endif

#endif

#endif

#pragma comment(lib, "kernel32.lib") //KERNEL32.DLL的导入函数库

#pragma comment(lib, "user32.lib") //USER32.DLL的导入函数库

#pragma comment(lib, "gdi32.lib") //GDI32.DLL的导入函数库

#pragma comment(lib, "comdlg32.lib") //共用对话框库Comdlg32.DLL的导入函数库

#pragma comment(lib, "winspool.lib")

#pragma comment(lib, "advapi32.lib")

#pragma comment(lib, "shell32.lib")

#pragma comment(lib, "comctl32.lib")

……

对于上述编译预处理指令,编译程序将根据Developer Studio开发环境对应用程序项目的设置情况进行不同的处理,如利用条件编辑指令判断是动态链接还是静态链接,以决定需要链接的导入函数库。


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759