Frage

Mit Blick auf Open-Source-Code-Basis i über diesen Code kam:

#include "StableHeaders.h"
#include "polygon.h"
#include "exception.h"
#include "vector.h"
...

Jetzt ist die StableHeaders.h eine vorkompilierte Header, die durch eine ‚Kontrolle‘ cpp enthalten ist zu zwingen, es Generation ist. Die drei enthält, die angezeigt werden, nachdem der vorkompilierte Header auch in der StableHeaders.h sowieso Datei enthalten ist. Meine Frage ist, werden diese Dateien zweimal enthalten, so dass die Code-Basis auf Compiler bauen, die nicht vorkompilierte Header unterstützen? Wie im, dass Wachen / Header-Caching umfassen unter der Annahme, machen die mehrfach redundante enthält sowieso ...

Bearbeiten btw, die stableheaders.h Datei einen Scheck für win32 hat (ungefähr) so wieder im vorausgesetzt, dass die enthält innen stableheaders.h gewohnt auf Compiler enthalten sein, die nicht vorkompilierte Header unterstützen.

War es hilfreich?

Lösung

Compiler, die gerade StableHeaders.h nicht vorkompilierte Header unterstützen würde und Analysepunkte, es jedes Mal (und nicht die vorkompilierte Datei). Es wird keine Probleme verursachen auch nicht beheben es keine Probleme für bestimmte Compiler als Sie gefragt. Ich denke, es ist nur ein kleinen ‚Fehler‘, die wahrscheinlich im Laufe der Zeit während der Entwicklung geschehen ist.

Andere Tipps

Ich glaube, Sie sich selbst die Frage Frage beantwortet! Vorkompilierte Header ist eine Compiler-Funktion. Wenn die Wache die Header vorhanden ist, nicht zweimal enthalten sein, auf jeden Fall.

Der einzige Grund, warum ich denken kann, die vorkompilierte Header und umfassen das Zeug sowieso Geschwindigkeit zu schützen. Der Grund vorkompilierte Header zu verwenden, ist die Kompilierung mal zu beschleunigen, das funktioniert, indem und den Inhalt der vorkompilierte Header kompilieren, wenn Sie dies tun können Sie Header enthalten, die nur von 75% der Quelldateien verwendet werden, und es ist nach wie vor schneller als ohne vorkompilierte Header.

Allerdings, wenn die anderen Plattformen nach unten Unterstützung prepcompiled Header Sie nur die Header-Dateien enthalten sein sollen, die für diese Quelldatei erforderlich sind. Also, wenn der vorkompilierte Header-Dateien enthält enthalten, die nur für von einer Quelle erforderlich sind Dateien, ist es schneller zu einfach sind und kompilieren die Header-Dateien die Sie benötigen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top