博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
visual c++中常用MFC文件及库文件
阅读量:5364 次
发布时间:2019-06-15

本文共 2182 字,大约阅读时间需要 7 分钟。

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 Studio\VC98\MFC\Include\”下)中设置了需要使用的动态链接库和静态链接库,以下便是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开发环境对应用程序项目的设置情况进行不同的处理,如利用条件编辑指令判断是动态链接还是静态链接,以决定需要链接的导入函数库。

转载于:https://www.cnblogs.com/yeye518/archive/2011/09/28/2231611.html

你可能感兴趣的文章
解决centOS7的IP为127.0.0.1,无法用Xshll链接问题
查看>>
vba
查看>>
vs2013常用快捷键收集
查看>>
网络编程之实现客户端与服务端聊天
查看>>
ADO.NET学习笔记(1)
查看>>
LTE的学习内容包含哪些方面呢?(zz)
查看>>
BLE控制器之链路层二
查看>>
编码反模式
查看>>
第六节 ADO.NET
查看>>
DataTable转CSV
查看>>
软件项目管理之--墨菲定理
查看>>
Codeforces Gym 100203I I - I WIN 网络流最大流
查看>>
Codeforces Beta Round #97 (Div. 1) B. Rectangle and Square 暴力
查看>>
cs331n 线性分类器损失函数与最优化
查看>>
UVA10106
查看>>
图形学杂记
查看>>
解决a标签IE下点击后出现轮廓框
查看>>
supervisor //todo
查看>>
Laravel Homestead: 403 forbidden on nginx, http://homestead.app访问不了
查看>>
SQLServer 的case when语句使用实现统计
查看>>