Benutzer mit den meisten Antworten
Müssen header-Dateien mitgeliefert werden?

Frage
-
Hallo!
Ich habe gerade ein Programm fertig gestellt und möchte es nun zur verwendung freigeben.
Allerdings habe ich gemerkt, dass VC++ 2010 automatisch eine "stdafx.h" in das Programm eingebunden hat.
Muss ich diese irgendwo im Programmordner mitliefern oder ist die auf jeder Windowsversion standardmäßig drauf?
Antworten
-
Zu Deiner ersten Frage:
Die stdafx.h ist nichts anderes als ein spezieller Header indem man alles hineinpackt was in allen Source-Modulen benötigt wird. Diese Header atei dient nur der Verwendung der Compiler Option Precompiled-Header.
Durch diese Option werden alle Include-Dateien in dieser Headerdatei vorkompiliert und damit eben nur einmal kompiliert. Dies geschieht zusammen mit der stdafx.cpp. In den anderen Sourceen werden diese vokompilierten Compilerdaten dann verwendet. In großen Projekten spart dies immens Zeit beim kompilieren.
Zum Ausliefern Deiner Module. Du benötigst keine vcredist.exe auf dem anderen PC, wenn Du alle Libraries statisch linkst.
Siehe ->
http://blog.kalmbach-software.de/de/2008/03/05/wie-man-statisch-gegen-die-c-runtime-crt-linkt/
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort markiert Robert Breitenhofer Mittwoch, 26. Mai 2010 11:41
Alle Antworten
-
musst du nicht.
wenn .NET Framework (für VC10 Standardmäßig v4 glaube) und VCRedist drauf sind läuft das Programm
Markus F.- Als Antwort vorgeschlagen Neuer_user Sonntag, 16. Mai 2010 10:28
-
Zu Deiner ersten Frage:
Die stdafx.h ist nichts anderes als ein spezieller Header indem man alles hineinpackt was in allen Source-Modulen benötigt wird. Diese Header atei dient nur der Verwendung der Compiler Option Precompiled-Header.
Durch diese Option werden alle Include-Dateien in dieser Headerdatei vorkompiliert und damit eben nur einmal kompiliert. Dies geschieht zusammen mit der stdafx.cpp. In den anderen Sourceen werden diese vokompilierten Compilerdaten dann verwendet. In großen Projekten spart dies immens Zeit beim kompilieren.
Zum Ausliefern Deiner Module. Du benötigst keine vcredist.exe auf dem anderen PC, wenn Du alle Libraries statisch linkst.
Siehe ->
http://blog.kalmbach-software.de/de/2008/03/05/wie-man-statisch-gegen-die-c-runtime-crt-linkt/
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort markiert Robert Breitenhofer Mittwoch, 26. Mai 2010 11:41