• #define WIN32_LEAN_AND_MEAN 的作用


    1:为什么要  #define WIN32_LEAN_AND_MEAN 。答案很简单,因为要包含尽量精简的内容,包含了这一句编译的时候明显快多了。

    2:不加载MFC所需的模块。如果你的工程不使用MFC,就加上这句,这样一来在编译链接时,包括最后生成的一些供调试用的模块时,速度更快,容量更小。

    3:我想这个不是 MFC 特有的, WIN32_LEAN_AND_MEAN 是针对 Win32 相关的头文件的, 比如在包含 WIN32/MFC SDK 头文件之前定义些宏, 可以通过预处理来关闭掉一些不太常用的系统接口或参数, 这样可以加快编译的速度!你可以看看 Windows.h 文件里和 WIN32_LEAN_AND_MEAN 相关的部分就明白了, 另外在这个文件开始部分一个注释, 这里有很多更详细的控制开关(宏)

    In the Windows.h header, if WIN32_LEAN_AND_MEAN is not defined, the preprocessor will includes other headers. So if you want to not include theses headers, you must define WIN32_LEAN_AND_MEAN before #include , else it won't have any effects

    #ifndef WIN32_LEAN_AND_MEAN
    #include <cderr.h>
    #include <dde.h>
    #include <ddeml.h>
    #include <dlgs.h>
    #ifndef _MAC
        #include <lzexpand.h>
        #include <mmsystem.h>
        #include <nb30.h>
        #include <rpc.h>
    #endif
    #include <shellapi.h>
    #ifndef _MAC
        #include <winperf.h>
        #include <winsock.h>
    #endif
    #ifndef NOCRYPT
        #include <wincrypt.h>
        #include <winefs.h>
        #include <winscard.h>
    #endif
    
    #ifndef NOGDI
        #ifndef _MAC
            #include <winspool.h>
            #ifdef INC_OLE1
                #include <ole.h>
            #else
                #include <ole2.h>
            #endif /* !INC_OLE1 */
        #endif /* !MAC */
        #include <commdlg.h>
    #endif /* !NOGDI */
    #endif /* WIN32_LEAN_AND_MEAN */

    Directly from Windows.h

  • 相关阅读:
    iscsi-分区类型
    NFS
    测试目录
    测试
    函数
    循环、枚举、条件判断、选择排序
    格式化、列表、元组、字典、集合
    常量、注释、变量、堆栈、数据类型、强制转换
    站点迁移至https://traceless.site/
    CENTOS7 源码安装NGINX
  • 原文地址:https://www.cnblogs.com/flyinggod/p/8324369.html
Copyright © 2020-2023  润新知