Dev-C++ vs. Visual C++ Express Edition

Erstmal hallo - ich hoffe ich gehe niemanden auf die Nerven mit meinen relativ anspruchslosen Fragen, jedoch weiß ich leider nicht wo ich sonst Antworten bekommen könnte.

Wie dem auch sei; ich habe vor einigen Tagen angefangen mich für die Sprache C++ zu interessieren und mir gleich mal ein Buch dazu besorgt. Da es ja verschiedene Compiler gibt habe ich mir den erstbesten gezogen.
Dev-C++ hieß er und gefällt mir auch soweit. Jetzt hat mir ein „Freund/Bekannter“ empfohlen auf Visual C++ Express Edition umzusteigen. Gesagt getan.

Meine Frage lautet: Gibt es unterschiede zwischen den Compilern was bestimmte Befehle angeht?

Habe hier folgenden Testcode:


#include
#include

using namespace std;

int main(int argc, char *argv[])
{
printf(„Hallo“);

system(„PAUSE“);
return EXIT_SUCCESS;
}


Der Code funktioniert auf jedenfall in Dev-C++, aber in Visual C++ Express Edition steht, dass beim Kompilieren ein Fehler aufgetreten ist.
„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?“
Ich habs mit stdafx.h versucht, alleine mit dieser Bibliothek oder mit ohne alles - schon probiert wie ein Weltmeister.

Genauso gings mir als ich den Code eines aus dem Buch beschriebem kleinen Programmes per Copy&amp:stuck_out_tongue_winking_eye:aste in beide Compiler geladen habe. Dev-C++ hatte keine Probleme, Visual jedoch hat einen Fehler nach dem andern ausgespuckt.

Sitze jetzt seit 5 Tagen vorm PC nur um diesen Problem auf den Grund zu gehen - vergeblich.
Echt demotivierend sowas, also woran kann es denn liegen?

Nun hoffe ich hier evtl. ein Schubser zur Lösung, bzw. die Lösung an sich serviert zu bekommen. Würde einen tiefen Knicks machen vor demjenigen der mir da helfen kann.

Auxh hallo.

Meine Frage lautet: Gibt es unterschiede zwischen den
Compilern was bestimmte Befehle angeht?

Nicht wenn der C++ Standard eingehalten wird. Ansonsten
sind die mitgelieferten Bibliotheken (*.h, *.cpp, *.c) von Interesse.
Die von der Express Edition vermisste Datei cstdlib.h gehört lt. einer Suche hier nicht zum Lieferumfang derselben. Somit braucht man für diese Datei eine andere Quelle. Diese gilt es unter ‚Projekt‘ dem aktuellen Projekt hinzuzufügen.

HTH
mfg M.L. (W2K, C++ EE, Visual Studio C++ 6.0)

hallo dschen!

Dev-C++ hieß er und gefällt mir auch soweit.

Mir auch.

Jetzt hat mir ein „Freund/Bekannter“ empfohlen auf Visual C++ Express Edition umzusteigen. Gesagt getan.

Wozu?

Der Code funktioniert auf jedenfall in Dev-C++

da würde ich mit dem weitermachen.
Die „stdafx.h“ ist eine MS-Erfindung und hat mit dem Standard nichts zu tun.
Ich habe über das Express im Web nur das schlechteste gehoert. Statt dessen habe ich MS-VC6 (ist auf den Buch-CD’s drauf) seit Jahren, das nervt manchmal auch, aber es geht so: Console-Projekt, dann brauchst Du keine „stdafx.h“.

Dev-C++ hatte keine Probleme,

Na bitte!

Visual jedoch hat einen Fehler nach dem andern ausgespuckt.

dann weg mit diesem #+’’*@.
Never change a winning team, koennte man sagen. Wenn es bei Dev so gut klappt, warum dann wechseln?

lg
Martin B

Hallo

„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?“

Das ist das Feature vom Visual C++ Compiler, das sich „Vorkompilierte Header“ nennt. Besonders bei großen Projekten ist das sehr praktisch, da du dir einen haufen Compilerzeit sparst. Ums abzuschalten, gehe mit der Maus auf den Projektbaum, das Projekt selbst (meist Fett geschrieben) und öffne den Menupunkt „Eigenschaften“ im Kontextmenu. Unter „C/C++“ wirst du „Vorkompilierte Header“ finden, dort einfach „Nicht verwenden“ einstellen und schon funktioniert alles.

mfg,
Christoph

PS: Ich mag die Express-Version übrigens :smile: