我继承了C/C++代码库,并且在许多.cpp文件中,#include
指令被封装在#ifndef的头部内部单个包括#define
中。在#ifndef's中包含#包含 - 是否添加任何值?
例如
#ifndef _INC_WINDOWS
#include <windows.h>
#endif
和WINDOWS.H看起来像
#ifndef _INC_WINDOWS
#define _INC_WINDOWS
...header file stuff....
#endif // _INC_WINDOWS
我认为这样做是为了加快代码的编译/预处理。
我认为这是丑陋的和过早的优化,但由于项目有5分钟的清理时间,我不想让事情变得更糟。
那么这种做法是否会增加任何价值或加快速度?清理它们可以吗?
更新:编译器是MSVC(VS2005)和平台的Win32/WinCE的
所以这就是我的问题的胆量,有其他人在现代代码基础上计时,工具集。 – 2009-06-20 10:20:35
我知道一个C++代码库,这样做会花费几分钟的时间(总构建时间,两个小时)。但切换预编译头文件的差异更大。而“现代”可能并不意味着这里有用!每个C++项目的构建系统可能略有不同,几乎都基于石器时代的概念。没有任何“现代”的开发系统使用户对这种活动感到困扰。 – 2009-06-20 10:24:11