Das Umschließen von #includes in # ifndefs - fügt es irgendeinen Wert hinzu?

Ich habe geerbtC/ C ++ - Codebasis und in einer Reihe von CPP-Dateien die#include Direktiven werden in # ifndefs mit dem internen Single-Include des Headers eingeschlossen#define.

zum Beispiel

<code>#ifndef _INC_WINDOWS
#include <windows.h>
#endif
</code>

und windows.h sieht aus wie

<code>#ifndef _INC_WINDOWS
#define _INC_WINDOWS
...header file stuff....
#endif // _INC_WINDOWS
</code>

Ich gehe davon aus, dass dies getan wurde, um das Kompilieren / Vorverarbeiten des Codes zu beschleunigen.

Ich denke, es ist hässlich und eine vorzeitige Optimierung, aber da das Projekt eine Build-Zeit von 5 Minuten nach der Bereinigung hat, möchte ich die Dinge nicht verschlimmern.

Fügt die Praxis also irgendeinen Wert hinzu oder beschleunigt sie viele Dinge? Ist es in Ordnung, sie aufzuräumen?

Update: Compiler ist MSVC (VS2005) und Plattform ist Win32 / WinCE

Antworten auf die Frage(2)

Ihre Antwort auf die Frage