定义WIN32_LEAN_AND_MEAN会增加构建时间

时间:2013-09-25 00:49:50

标签: c++ winapi

使用win32 api时,我注意到一些奇怪的事情。我正在使用一个小项目,我尝试在包含windows.h之后添加一个定义WIN32_LEAN_AND_MEAN。在VS 2013 RC的构建日志中使用构建时间跟踪器,在启用定义WIN32_LEAN_AND_MEAN的情况下,构建时间实际上需要更长时间(大约10ms)。我在正确的位置定义WIN32_LEAN_AND_MEAN吗?运行前置任务所花费的时间是否比仅仅查看它们的时间短于时间?如果是这样,你应该在什么尺寸的项目中定义WIN32_LEAN_AND_MEAN?谢谢你的帮助!

更新:我按照建议将我的定义WIN32_LEAN_AND_MEAN定义为包含windows.h之前,它给了我更大的性能影响。它在构建时间上耗费了260毫秒。

2 个答案:

答案 0 :(得分:3)

首先,在启动程序(编译器和链接器)的过程中,构建时间增加10ms,并且很多I / O(读取文件)都不重要。

接下来,您需要在<{em> WIN32_LEAN_AND_MEAN之前定义#include <Windows.h> 。您甚至可能希望在项目设置中定义它,以确保所有文件都获得Windows.h的相同定义。

答案 1 :(得分:1)

在您加入windows.h之前需要先去。

此常量从windows.h中删除额外的标头。如果您在#include之后定义它,那么它将无效。