Geldmann3
2011-10-26, 00:58:59
Hallo, im Zuge meiner Ausbildung zum IT Systemelektroniker habe ich nun auf der Berufsschule mein erstes kleines Programm in C++ geschrieben.
Wir verwenden Visual Studio 2005, der Lehrer meinte aber, wenn möglich sollen wir privat die neueste Version verwenden. Gesagt, getan.
Nun habe ich mit der 2010 er Version eine CLR Konsolenanwendung ohne Kompilierten Header erstellt. (So wurde es uns erst mal beigebracht)
Doch zu meiner Überraschung sieht der Standard-Queltext schon mal ganz anders aus.
// CLR.cpp: Hauptprojektdatei.
#include "stdafx.h"
using namespace System;
int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");
return 0;
}
Habe ich das Projekt falsch erstellt? "stdafx.h" wurde bei uns nicht included. Stattdessen haben wir streamIO importiert. Um Hallo Welt auszugeben. Das haben wir so
#include <iostream>
int main()
{
cout cc "Hallo Welt";
cin.get();;
}
gemacht. Beim kompilierien in Visual Studio 2010 kommt es allerdings zu einer Fehlermeldung.
1>------ Erstellen gestartet: Projekt: CLR, Konfiguration: Debug Win32 ------
1> stdafx.cpp
1> AssemblyInfo.cpp
1> CLR.cpp
1>CLR.cpp(3): warning C4627: "#include <iostream>": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
1> "StdAfx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
1>CLR.cpp(10): fatal error C1010: Unerwartetes Dateiende während der Suche nach dem vorkompilierten Header. Haben Sie möglicherweise vergessen, im Quellcode "#include "StdAfx.h"" einzufügen?
1> Code wird generiert...
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Warum soll ich jetzt "StdAfx.h" einbinden? Den vor-kompilierten Header habe ich beim Erstellen des Projektes wie in der Schule gelernt erst mal abgewählt. In 2005 gab es damit keine Probleme?
Unter 2005 musste "StdAfx.h" soweit ich mich erinnere nicht importiert werden.
Geht das in der 2010er Version so nicht mehr?
Wenn nicht, ist es dann nicht vollkommen kontraproduktiv uns mit der 2005er Version heranzuführen?
:biggrin: Wie ich so-was hasse, das inkompetente Dreckskaff soll mal neue Software installieren. Habe ich erwähnt, dass wir dort auch Windows XP verwenden? Wie ich es hasse mit solch einem alten Müll zu arbeiten. Und dann auch noch erzählen, wir sollen zuhause die neueste Version verwenden. Ich hab mir gleich gedacht, dass der Code dann nicht mehr so funzt.
Wir verwenden Visual Studio 2005, der Lehrer meinte aber, wenn möglich sollen wir privat die neueste Version verwenden. Gesagt, getan.
Nun habe ich mit der 2010 er Version eine CLR Konsolenanwendung ohne Kompilierten Header erstellt. (So wurde es uns erst mal beigebracht)
Doch zu meiner Überraschung sieht der Standard-Queltext schon mal ganz anders aus.
// CLR.cpp: Hauptprojektdatei.
#include "stdafx.h"
using namespace System;
int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");
return 0;
}
Habe ich das Projekt falsch erstellt? "stdafx.h" wurde bei uns nicht included. Stattdessen haben wir streamIO importiert. Um Hallo Welt auszugeben. Das haben wir so
#include <iostream>
int main()
{
cout cc "Hallo Welt";
cin.get();;
}
gemacht. Beim kompilierien in Visual Studio 2010 kommt es allerdings zu einer Fehlermeldung.
1>------ Erstellen gestartet: Projekt: CLR, Konfiguration: Debug Win32 ------
1> stdafx.cpp
1> AssemblyInfo.cpp
1> CLR.cpp
1>CLR.cpp(3): warning C4627: "#include <iostream>": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
1> "StdAfx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
1>CLR.cpp(10): fatal error C1010: Unerwartetes Dateiende während der Suche nach dem vorkompilierten Header. Haben Sie möglicherweise vergessen, im Quellcode "#include "StdAfx.h"" einzufügen?
1> Code wird generiert...
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Warum soll ich jetzt "StdAfx.h" einbinden? Den vor-kompilierten Header habe ich beim Erstellen des Projektes wie in der Schule gelernt erst mal abgewählt. In 2005 gab es damit keine Probleme?
Unter 2005 musste "StdAfx.h" soweit ich mich erinnere nicht importiert werden.
Geht das in der 2010er Version so nicht mehr?
Wenn nicht, ist es dann nicht vollkommen kontraproduktiv uns mit der 2005er Version heranzuführen?
:biggrin: Wie ich so-was hasse, das inkompetente Dreckskaff soll mal neue Software installieren. Habe ich erwähnt, dass wir dort auch Windows XP verwenden? Wie ich es hasse mit solch einem alten Müll zu arbeiten. Und dann auch noch erzählen, wir sollen zuhause die neueste Version verwenden. Ich hab mir gleich gedacht, dass der Code dann nicht mehr so funzt.