C++ Programm soll sich nicht sofort schließen!



  • Ok, andersrum: wo ist bei kleinen Testprogrämmchen der Vorteil der STRG+F5/F5-Wechsel-Methode zu einem simplen system("pause") am Ende? Ich sehe keinen (ich sehe sogar kleine Nachteile), außer dass ich mir von euch nicht anhören muss, wie böse und nicht portabel system ist, was mir bei einem nicht-produktiven Testprojekt so ziemlich scheißegal ist. 😉



  • _matze schrieb:

    Ok, andersrum: wo ist bei kleinen Testprogrämmchen der Vorteil der STRG+F5/F5-Wechsel-Methode zu einem simplen system("pause") am Ende? Ich sehe keinen (ich sehe sogar kleine Nachteile), außer dass ich mir von euch nicht anhören muss, wie böse und nicht portabel system ist, was mir bei einem nicht-produktiven Testprojekt so ziemlich scheißegal ist. 😉

    Hä??
    Wo ist der Nachteil?
    Außerdem ist Strg+F5/F5 nicht Debug/Release, sondern Ohne-Debugger-Starten/Mit-Debugger-Starten.
    system("pause") sorgt zum Beispiel dafür, daß ich das vom TO so nett gemachte fertige Testprogrämmchen nicht unrter Linux testen kann. Also lasse ich es. Wenn er nichtmal diese Grundhöflichkeit hat, soll ihm doch jemand anderer helfen.



  • _matze schrieb:

    dot schrieb:

    Setz in deiner IDE einen Breakpoint auf das return in main() und fertig.

    Genau. Und dann möchte ich im Release-Build auch mal die Ausgabe sehen, bevor sich die Konsole schließt. was mach ich dann?

    Einen Haltepunkt auf das return in main() setzen...



  • dot schrieb:

    Einen Haltepunkt auf das return in main() setzen...

    Klar, geht natürlich. Dann ist der Fokus aber auch auf dem VS, wo ich doch eventuell die Konsolenausgabe sehen möchte. Nicht dramatisch, aber ein Klick mehr. Das meine ich halt. All die "Workarounds", um bloß nicht das böse system zu benutzen, sind eventuell ein wenig unkomfortabler, um letztendlich die gleiche Funktion für mich zu erfüllen. Dabei will ich doch nur in meinem kleinen Testprojekt am Ende der Ausführung die Ausgabe sehen, mehr nicht. Und system("pause") erfüllt meine Anforderungen nun mal am besten, bei ziemlich geringem Aufwand (eine kurze Zeile tippen, genau wie auch ein unnötiges return in der main) und in solchen Testprogrammen nicht für mich nachvollziehbaren Nachteilen.

    Ach, kommt. Ich hab keine Lust mehr. Wir drehen uns ja doch nur wieder im Kreis. 😃



  • _matze schrieb:

    Ach, kommt. Ich hab keine Lust mehr. Wir drehen uns ja doch nur wieder im Kreis. 😃

    Nur, weil Du nicht einsichtig bist. 🤡



  • 😃



  • Das Problem ist halt, dass du damit die Funktionalität des Programmes veränderst, nur um es komfortabel debuggen zu können, was streng genommen bedeutet, dass du ein anderes Programm debuggest, als das, was du dann einmal releasen wirst.

    Auf den ersten Blick eine irrelevante Kleinigkeit. Aber leider halt nur so lange irrelevant, bis sie relevant wird, z.B. weil du, als du 5 min. vor Mitternacht zum letzten Mal abgegeben hast, im ganzen Stress vergessen hast, die eine Zeile auszukommentieren, was nun dazu führt, dass dein Programm auf dem automatischen Testsystem blockiert, vom Timeout gekilled und mit 0 Punkten bewertet wird...



  • dot schrieb:

    Das Problem ist halt, dass du damit die Funktionalität des Programmes veränderst, nur um es komfortabel debuggen zu können, was streng genommen bedeutet, dass du ein anderes Programm debuggest, als das, was du dann einmal releasen wirst.

    Und ich rede die ganze Zeit von Programmen, die niemals nicht released werden. Achtung, gleich kommt das Gewohnheitsargument. 😉

    Keine Lust mehr. Hatte ich das schon gesagt? 😃


  • Mod

    _matze schrieb:

    Und ich rede die ganze Zeit von Programmen, die niemals nicht released werden. Achtung, gleich kommt das Gewohnheitsargument. 😉

    Dann gewöhnst du dir an, wie man es nicht richtig macht und lernst die ganzen kleinen Kniffe nicht, die dir bei "richtigen" Programmen das Leben erleichtern 😃



  • _matze schrieb:

    Achtung, gleich kommt das Gewohnheitsargument. 😉

    Jap, wär ja nicht so, dass ich mir obiges Beispiel aus der Nase gezogen hätte. Wenn ich für jedes Mal, wenn einem Student sowas passiert, einen Euro bekommen würd, dann hätte das vermutlich signifikanten Einfluss auf mein Jahreseinkommen... :p



  • _matze schrieb:

    dot schrieb:

    Das Problem ist halt, dass du damit die Funktionalität des Programmes veränderst, nur um es komfortabel debuggen zu können, was streng genommen bedeutet, dass du ein anderes Programm debuggest, als das, was du dann einmal releasen wirst.

    Und ich rede die ganze Zeit von Programmen, die niemals nicht released werden.

    Und warum willst Du denn dann:

    _matze schrieb:

    Und dann möchte ich im Release-Build auch mal die Ausgabe sehen, bevor sich die Konsole schließt.



  • Weil ich vielleicht wissen will, wie schnell etwas mit Optimierungen ist? 💡



  • _matze schrieb:

    Weil ich vielleicht wissen will, wie schnell etwas mit Optimierungen ist? 💡

    Bau Dir für regelmäßiges Experimentieren eine "matze.h" mit pause, sleep, und measure.
    die measure() brauchste ja eh. oder willste die immer reinkopieren?



  • volkard schrieb:

    Außerdem ist Strg+F5/F5 nicht Debug/Release, sondern Ohne-Debugger-Starten/Mit-Debugger-Starten.

    <====== THIS ⚠ ⚠ ⚠
    Mit Release/Debug-Build hat das nichts zu tun. Das steuert nur, ob der Debugger mit gestartet wird oder nicht.



  • cooky451 schrieb:

    volkard schrieb:

    Außerdem ist Strg+F5/F5 nicht Debug/Release, sondern Ohne-Debugger-Starten/Mit-Debugger-Starten.

    <====== THIS ⚠ ⚠ ⚠
    Mit Release/Debug-Build hat das nichts zu tun. Das steuert nur, ob der Debugger mit gestartet wird oder nicht.

    Sagte ich doch. Oder?



  • Ich wollte es nur noch einmal hervorheben, _matze schien mir das übersehen zu haben.


Anmelden zum Antworten