Moin erstmal ich habe vor kurzem angefangen mich mit C++ außeinander zu setzen.
Ich habe das Buch "C++ für Spieleprogrammierer", und wollte damit anfangen mich damit zu beschäftigen, Ich habe es zuerst mit der beigelegten Software "Microsoft Visual Studio 2006" versucht. Mit einem 32bit Betriebssystem hat es noch funktioniert das Programm zu kompilieren und zum ausführen zu bringen(War nur ne Textausgabe über die konsole aber trotzdem;D). Jetzt habe ich jedoch ein 64bit System, und es funktioniert nicht mehr weder mit Visual 2006 oder mit Visual Studio 2010. Ich bekomme immer wieder Probleme mit der Ausführung des Programms. Kompilieren lässt es sich aber wenn ich es öffne ist für ein Bruchteil einer Sekunde offen, aber dann schließt es sich sofort wieder.
Bitte um Hilfe
Moin erstmal, und gleich eine Frage
Re: Moin erstmal, und gleich eine Frage
Versuche mal ans Ende deines Programms ein cin.get() zu schreiben. Dann wartet das Programm darauf, dass der Benutzer eine Taste drückt.
Re: Moin erstmal, und gleich eine Frage
Es liegt daran, dass nach der textausgabe nichts mehr programmiert ist. Das Programm schliesst sich, weil es denkt, dass es seine Arbeit getan hat.
Du kannst auch system ("Pause"); nach der Textausgabe anfügen.
Durza
Du kannst auch system ("Pause"); nach der Textausgabe anfügen.
Durza
Ich kann mir eine Welt vorstellen ohne Krieg, eine Welt ohne Hass. Und ich kann mir vorstellen, wie wir diese Welt angreifen, weil die Typen es niemals erwarten würden.
-
- Establishment
- Beiträge: 212
- Registriert: 08.05.2011, 09:59
- Benutzertext: Feel Free
Re: Moin erstmal, und gleich eine Frage
ob du cin.get() oder system ("Pause"); verwendest wird richtig schön in folgendem ausdiskutiert ;-)
http://www.computerhilfen.de/hilfen-14-41150-0.html
http://www.computerhilfen.de/hilfen-14-41150-0.html
- Aramis
- Moderator
- Beiträge: 1458
- Registriert: 25.02.2009, 19:50
- Echter Name: Alexander Gessler
- Wohnort: 2016
- Kontaktdaten:
Re: Moin erstmal, und gleich eine Frage
Mja, ein system("pause") bedeutet einen fork/neuen Prozess und ist somit maximal ineffizient – insbesondere wenn man bedenkt, dass 'pause' irgendwo in den Untiefen des Windows Batch-Prozessors als cin.get() (oder meinetwegen das C-Aequivalent dazu) implementiert ist :-)
Die pragmatische Loesung besteht aber darin, dein Programm aus einer bereits offenen Kommandozeile heraus zu starten. Also Kommandozeile oeffnen, Programm ausfuehren, Text bleibt stehen.
Notfalls ein Batchfile (.bat) im Verzeichnis
.. du siehst, es gibt hier verschiedene Moeglichkeiten. Ich finde die zuletzt genannten bedeutend schoener, da der Zwang zu einem zusaetzlichen Tastendruck am Ende evtl. die Integration deines Programms in komplexere Ablaeufe erschweren koennte (beispielsweise ein Batchskript, das nicht-interaktiv ablaufen soll).
Die pragmatische Loesung besteht aber darin, dein Programm aus einer bereits offenen Kommandozeile heraus zu starten. Also Kommandozeile oeffnen, Programm ausfuehren, Text bleibt stehen.
Notfalls ein Batchfile (.bat) im Verzeichnis
Code: Alles auswählen
myapp.exe
pause