使用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毫秒。
答案 0 :(得分:3)
首先,在启动程序(编译器和链接器)的过程中,构建时间增加10ms,并且很多I / O(读取文件)都不重要。
接下来,您需要在<{em> WIN32_LEAN_AND_MEAN
之前定义#include <Windows.h>
。您甚至可能希望在项目设置中定义它,以确保所有文件都获得Windows.h
的相同定义。
答案 1 :(得分:1)
在您加入windows.h
之前需要先去。
此常量从windows.h
中删除额外的标头。如果您在#include
之后定义它,那么它将无效。