3 Stimmen

C++: Ist Windows.h generell eine effiziente Code-Bibliothek?

Ich habe gehört, wie sich einige Leute beschwert haben über einschließlich die Windows-Header-Datei in einer C++-Anwendung und mit es. Sie sagten, es sei ineffizient. Ist das nur eine urbane Legende oder stecken wirklich harte Fakten dahinter? Mit anderen Worten: Wenn Sie glauben, dass es effizient oder ineffizient ist, erklären Sie bitte anhand von Fakten, wie das sein kann.

Ich bin kein C++-Windows-Programmierguru. Ausführliche Erklärungen wären mir sehr willkommen.


*Edit: Ich möchte es zur Kompilierzeit und bei der Ausführung wissen. Tut mir leid, dass ich das nicht erwähnt habe.

2 Stimmen

Sie meinen, effizient zur Kompilierzeit, richtig? Wenn ja, ist es normalerweise vorkompiliert, aber Sie müssen es einbinden, wenn Sie es brauchen...

1 Stimmen

Ich denke, es ist in der Regel ineffizient in Bezug auf die Kompilierung; der Header ist RIESIG und enthält noch mehr riesige Header. Es führt eine riesige Menge an Symbolen in den globalen Namespace ein und bringt C++-Anwender zum Weinen.

0 Stimmen

Was meinen Sie mit ineffizient? Sie ist zwar groß, aber es handelt sich nur um eine Header-Datei. Sie können sie verschlanken, indem Sie ihr einige #define-Anweisungen voranstellen. Siehe hier de.wikipedia.org/wiki/Windows.h

0voto

Betamoo Punkte 13422
  • Das bloße Einfügen des Headers, ohne ihn zu verwenden, hat keine Auswirkungen auf die Laufzeiteffizienz.
  • Es würde die Kompilierungszeit beeinflussen.

4 Stimmen

Das ist nicht wahr... es enthält Makros, die sehr unangenehm, wie "min" und "max".

2 Stimmen

-1: Nicht ganz richtig. #Das Einschließen von <Windows.h> wird die Kompilierzeit erheblich verlängern und Symbole und Makros einbringen, die mit Ihrem Code in Konflikt geraten können.

0 Stimmen

@Zan Ich glaube nicht, dass diese Art von Makros große Probleme mit der Kompilierungszeit verursacht

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X