Gast
#1054947
Hallo Leut, was sind vorcompilierter header? welche Dateierweiterung (extension) haben sie? wie merkt der Compiler dass solche fehlen? Bedanke mich für jede Hilfe. Hakan
|
Anzeige
|
Hilfe: was sind vorcompilierter Header?
Gast
#1054947
Hallo Leut, was sind vorcompilierter header? welche Dateierweiterung (extension) haben sie? wie merkt der Compiler dass solche fehlen? Bedanke mich für jede Hilfe. Hakan
Gast
#1054959
keiner weiss was? unmöglich. Wahrscheinlich ist dies ein Anfängerfrage oder? Hakan
Gast
#1054960
Nö, nur saublöde gestellt ist die, die Frage.
Gast
#1054961
vorcompilierte Header sind vorcompilierte Header. Reicht das als Antwort? Für den Rest musst du wohl das Manual deines Compilers lessen, denn der ist es ja, der sie 1) anlegt und 2) benutzen will.
Gast
#1054965
soviel ich weiss man kann nur ein *.c Datei compilieren aber kein header *.h ? Hakan
Gast
#1054966
>vorcompilierte Header
Wie vorgekochtes Essen.
Nur noch aufwärmen.
Meinst du objektdateien (*.o)?
Gast
#1054971
ist ein Lib-Datei oder? was hat es für eine Endung? Hakan > Datum: 21.11.2008 17:25 > Datum: 21.11.2008 17:40 Wir haben es heute eilig... Nun ja. Kann mich meinen Vorrednern aber sonst soweit nur anschließen. Ansonsten ist auch die Suchmaschine mit dem großen "G" recht hilfreich. z.B.: http://www.google.de/search?hl=de&q=vorkompilierte+header&btnG=Google-Suche&meta= Um mal den Einleitungssatz des ersten Treffers zu zitieren: "In diesem Artikel werde ich erklären, was vorkompilierte Header in Visual C++ sind und wie man sie benutzt." Schönen Abend noch. TommyS
Gast
#1054975
Probiers garnicht erst zu verstehen: Wenn du zu dumm bist um vorcompilierter Header in google einzutippen, dann wirst du die Erklärung die du dann finden würdest erst recht nicht verstehen.
Gast
#1054991
Danke Thomas. habe gegoogelt mit vorcompiliert nicht mit voKompiliert "c","k", Hakan In visual c++ haben diese dateien die endung *.pch... Wozuz sie gut sein sollen weiß ich auch nicht. Bei mir trat der Fehler immer auf, wenn bei so einem von einem Wizard erzeugten Projekt die stdafx.h und die stdafx.c gelöscht hat. Hat man die restliche Dateien dann aber einem leeren Projekt hinzugefügt, kompilierte er dies ganz normal. Naja die Experten bei MS werden schon wissen was sie machen. habe mal gehört, die Hälfte der ursprünglichen Win95-Entwickler ist früher oder später im Irrenhaus gelandet...
Gast
#1055052
vielan Dank an allen Beteiligten;-) habe das ganze auf CBuilder 6.0 erfolgreich portiert ohne VC++ Mekkerei. Hakan Björn R. wrote:
> Wozuz sie gut sein sollen weiß ich auch nicht.
Vermutlich insbesondere bei C++, damit man das teilweise recht
aufwändige Parsen all der Deklarationen in den Headern nicht immer
wieder aufs Neue machen muss. Vor allem bei Bloatware kommen da
sicher schnell einige hundert Headers pro C++-Quelldatei (also pro
`translation unit') zusammen. Wenn der Compiler nun für alle
System-Headers (also alles, was mit #include <> arbeitet statt mit
#include "") zuerst nach einer vorcompilierten Datei sucht, in der
er die Deklarationen bspw. als 1:1-Speicherabzug des Syntaxbaums
abgelegt hat, kann man das Compilieren sicher beschleunigen.
Jörg hat das ganz gut beschrieben. Arbeitet man mit sehr großen Klassenbibliotheken --GUI-Frameworks sind schöne Beispiele dafür--, dann kann die Verwendung präcompilierter Headerdateien die Übersetzungszeiten recht erheblich beschleunigen (außer natürlich den allerersten Durchlauf). Wenn man Windows-Applikationen erstellt, dann kann das sogar bei reinen C-Programmen, die nur die Win32-API nutzen, etwas bringen, ist doch das Windows-SDK derart strukturiert, daß ein #include <windows.h> alles ist, was man einbinden muss, damit zigtausende Definitionen etc. bekannt sind. Da das jedesmal dasselbe ist, kann man durch Abspeichern des "vorverdauten Krempels" einiges an Zeit einsparen. Bei MFC-Anwendungen wird standardmäßig in alle Übersetzungseinheiten eine "stdafx.h" eingebunden, die als präcompilierte Headerdatei verwendet wird. Alles, was zusätzlich zur MFC von mehreren/allen Übersetzungseinheiten benötigt wird, sollte daher in dieser Datei definiert/eingebunden werden. So bekommt man trotz MFC erträgliche Übersetzungszeiten auch bei einem "build all". Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|