#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

相关文章

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

python常用的正则表达式及作用

《python常用的正则表达式及作用》正则表达式是处理字符串的强大工具,Python通过re模块提供正则表达式支持,本文给大家介绍python常用的正则表达式及作用详解,感兴趣的朋友跟随小编一起看看吧... 目录python常用正则表达式及作用基本匹配模式常用正则表达式示例常用量词边界匹配分组和捕获常用re

Java 继承和多态的作用及好处

《Java继承和多态的作用及好处》文章讲解Java继承与多态的概念、语法及应用,继承通过extends复用父类成员,减少冗余;多态实现方法重写与向上转型,提升灵活性与代码复用性,动态绑定降低圈复杂度... 目录1. 继承1.1 什么是继承1.2 继承的作用和好处1.3 继承的语法1.4 子类访问父类里面的成

SpringBoot 中 CommandLineRunner的作用示例详解

《SpringBoot中CommandLineRunner的作用示例详解》SpringBoot提供的一种简单的实现方案就是添加一个model并实现CommandLineRunner接口,实现功能的... 目录1、CommandLineRunnerSpringBoot中CommandLineRunner的作用

$在R语言中的作用示例小结

《$在R语言中的作用示例小结》在R语言中,$是一个非常重要的操作符,主要用于访问对象的成员或组件,它的用途非常广泛,不仅限于数据框(dataframe),还可以用于列表(list)、环境(enviro... 目录1. 访问数据框(data frame)中的列2. 访问列表(list)中的元素3. 访问jav

Kotlin运算符重载函数及作用场景

《Kotlin运算符重载函数及作用场景》在Kotlin里,运算符重载函数允许为自定义类型重新定义现有的运算符(如+-…)行为,从而让自定义类型能像内置类型那样使用运算符,本文给大家介绍Kotlin运算... 目录基本语法作用场景类对象数据类型接口注意事项在 Kotlin 里,运算符重载函数允许为自定义类型重

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

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