zoukankan      html  css  js  c++  java
  • 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 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开发环境对应用程序项目的设置情况进行不同的处理,如利用条件编辑指令判断是动态链接还是静态链接,以决定需要链接的导入函数库。
  • 相关阅读:
    Delphi 正则表达式之TPerlRegEx 类的属性与方法(2): 关于子表达式
    Delphi 正则表达式语法(7): 匹配转义字符
    Delphi 正则表达式之TPerlRegEx 类的属性与方法(1): 查找
    Delphi 正则表达式语法(5): 边界
    Delphi 正则表达式语法(8): 引用子表达式 也叫反向引用
    Delphi 正则表达式语法(3): 匹配范围
    Delphi 正则表达式语法(6): 贪婪匹配与非贪婪匹配
    Delphi 正则表达式语法(9): 临界匹配 也叫"预搜索"与"反向预搜索"
    Delphi 正则表达式语法(10): 选项
    善用 Web 调试代理工具
  • 原文地址:https://www.cnblogs.com/yeye518/p/2231611.html
Copyright © 2011-2022 走看看