Wie nicht #include <windows.h>
Mit MSVC2008, 32bit auf 64bit system.
Wurde mir mal geraten, nie mit windows.h wie 'es ist ein echtes monster und verlangsamt meine kompilieren mal deutlich'.
Ich habe versucht, verlassen Sie es aus und natürlich kommen Fehler bei der Kompilierung. Ich windef.h zu definieren, die alle DWORDs usw., aber ich habe schnell kommen unstuck zu wissen, was anderes zu definieren, um den code zu kompilieren.
Bekomme ich jetzt:
2>c:\program files\microsoft sdks\windows\v7.0\include\winnt.h(6361) : error C2146: syntax error : missing ';' before identifier 'ContextRecord'
2>c:\program files\microsoft sdks\windows\v7.0\include\winnt.h(12983) : error C2065: 'PCONTEXT' : undeclared identifier
Kann jemand vorschlagen, der richtige Ansatz hier?
Dank
Simon
- Haben Sie aktuelle Probleme mit langsamen compile-Zeiten?
- Jeder hat ein problem mit dem kompilieren mal.. Auch wenn es weniger als einen Tag (wie hier), und es ist 4 Sekunden, anstatt von 0,4 Sekunden, es ist ein bedeutender produktivitätsfaktor.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Intern, windows.h Hinsicht viele definiert, wie NOMINMAX oder WIN32_LEAN_AND_MEAN.
Reduziert es die Zeiten deutlich.
Vorkompilierte Header verwenden, um zu verbessern compile-Zeiten, und sind mit Fenstern ausgestattet.h.
Die richtige Antwort wäre "es in die PCH". Pre-compiled Header Verkürzung der Kompilierzeit drastisch, und entgegen der landläufigen Meinung, dies gilt auch für Komplette Umbauten.
Wenn du mehr als eine CPP-Datei in Ihrem Projekt, der "alles neu erstellen" bauen würde, es einmal für das ganze Projekt, die lediglich anzeigen ein paar Sekunden um zu compile-Zeit - zu haben von windows.h " enthalten.
Forschung die APIs und stellen Sie sicher, dass die Header enthalten sind, in der richtigen Reihenfolge. Es ist nicht schwer, nicht Windows verwenden.h; aber Sie werden lernen, über die MS-Header in den Prozess.
Gibt es ein paar Kopfzeilen, die Sie müssen sich bewusst sein: