#define WIN32_LEAN_AND_MEAN作用

2024-01-05 19:08
文章标签 作用 win32 define mean lean

本文主要是介绍#define WIN32_LEAN_AND_MEAN作用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MSDN的资料:   
    
  为加速生成过程,Visual   C++   提供了如下定义(这些定义通过排除一些不太常用的   API,减小了   Win32   头文件的大小):   
    
  VC_EXTRALEAN   
    
  WIN32_LEAN_AND_MEAN   
    
  VC_EXTRALEAN   定义   WIN32_LEAN_AND_MEAN   和若干   NOservice   定义,如   NOCOMM   和   NOSOUND。(有关   NOservice   定义列表,请参见头文件   Windows.h   和   MFC   头文件   afxv_w32.h。)   
    
  用   Visual   C++   应用程序向导创建的应用程序自动使用   VC_EXTRALEAN。可以在旧式   MFC   应用程序中手动定义   VC_EXTRALEAN   以加速生成过程。   
    
  非   MFC   应用程序可以定义   WIN32_LEAN_AND_MEAN   和适用的   NOservice   定义以减少生成时间。 

在一个源码中看到:#define WIN32_LEAN_AND_MEAN // make sure all macros are included

好像要表达的意思是:若 WIN32_LEAN_AND_MEAN 有定义就包含所有宏

然后我在整个VC目录里搜 WIN32_LEAN_AND_MEAN

查找全部 "WIN32_LEAN_AND_MEAN", 大小写匹配, 全字匹配, 子文件夹, 查找结果 1, "Visual C 包含目录"
D:/Program Files/Microsoft Visual Studio 8/VC/include/delayhlp.cpp(23):#define WIN32_LEAN_AND_MEAN
D:/Program Files/Microsoft Visual Studio 8/VC/atlmfc/include/afxv_w32.h(115):#ifndef WIN32_LEAN_AND_MEAN
D:/Program Files/Microsoft Visual Studio 8/VC/atlmfc/include/afxv_w32.h(116):#define WIN32_LEAN_AND_MEAN
D:/Program Files/Microsoft Visual Studio 8/VC/atlmfc/include/atldef.h(519):#ifndef WIN32_LEAN_AND_MEAN
D:/Program Files/Microsoft Visual Studio 8/VC/atlmfc/include/atldef.h(520):#define WIN32_LEAN_AND_MEAN
D:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Include/Windows.h(179):#ifndef WIN32_LEAN_AND_MEAN
D:/Program Files/Microsoft Visual Studio 8/VC/PlatformSDK/Include/Windows.h(212):#endif /* WIN32_LEAN_AND_MEAN */

我觉得如果定义这个宏就可以包含“所有”宏的话应该有 #ifdef WIN32_LEAN_AND_MEAN 这样的句子,但没有

请问:为什么定义 WIN32_LEAN_AND_MEAN 就能包含“所有”宏 ?
网友回复:还应该是在源码中定义了这个宏吧,不是很清楚,帮顶!
网友回复:WIN32_LEAN_AND_MEAN 是WINDOWS API用于屏蔽一些不常用的API(优化应用程序)才用的。

定义了 WIN32_LEAN_AND_MEAN 就不会使用和链接 SDK 的头文件中相关的
#ifndef WIN32_LEAN_AND_MEAN
#endif //
之间涉及到的API,可以加快链接速度和减小可执行文件体积。
网友回复:那这么说 // make sure all macros are included 不是起注释作用而是警告作用了?
网友回复:依照2楼的解释,这个宏会屏蔽一些api,那么在使用这个宏的时候,如果又有一些被屏蔽掉api想要使用的话,得加上相应api的宏开关。
某种程度的警告?

这篇关于#define WIN32_LEAN_AND_MEAN作用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/573871

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

C++ 中的 if-constexpr语法和作用

《C++中的if-constexpr语法和作用》if-constexpr语法是C++17引入的新语法特性,也被称为常量if表达式或静态if(staticif),:本文主要介绍C++中的if-c... 目录1 if-constexpr 语法1.1 基本语法1.2 扩展说明1.2.1 条件表达式1.2.2 fa

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

Spring组件初始化扩展点BeanPostProcessor的作用详解

《Spring组件初始化扩展点BeanPostProcessor的作用详解》本文通过实战案例和常见应用场景详细介绍了BeanPostProcessor的使用,并强调了其在Spring扩展中的重要性,感... 目录一、概述二、BeanPostProcessor的作用三、核心方法解析1、postProcessB

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase

MyBatis的配置对象Configuration作用及说明

《MyBatis的配置对象Configuration作用及说明》MyBatis的Configuration对象是MyBatis的核心配置对象,它包含了MyBatis运行时所需的几乎所有配置信息,这个对... 目录MyBATis配置对象Configuration作用Configuration 对象的主要作用C

MySQL表锁、页面锁和行锁的作用及其优缺点对比分析

《MySQL表锁、页面锁和行锁的作用及其优缺点对比分析》MySQL中的表锁、页面锁和行锁各有特点,适用于不同的场景,表锁锁定整个表,适用于批量操作和MyISAM存储引擎,页面锁锁定数据页,适用于旧版本... 目录1. 表锁(Table Lock)2. 页面锁(Page Lock)3. 行锁(Row Lock

Android fill_parent、match_parent、wrap_content三者的作用及区别

这三个属性都是用来适应视图的水平或者垂直大小,以视图的内容或尺寸为基础的布局,比精确的指定视图的范围更加方便。 1、fill_parent 设置一个视图的布局为fill_parent将强制性的使视图扩展至它父元素的大小 2、match_parent 和fill_parent一样,从字面上的意思match_parent更贴切一些,于是从2.2开始,两个属性都可以使用,但2.3版本以后的建议使