Warum kein EXIT_SUCCESS in C++?
-
Hallo,
ich lese hier immer wieder dass man in C++ kein EXIT_SUCCESS verwenden soll. EXIT_FAILURE braucht man ja, wenn man einen Fehler anzeigen will, da auf bestimmten Architekturen beispielsweise einen return-Wert 1 Erfolg anzeigt. Also warum sollte man nicht dann auch EXIT_SUCCESS verwenden, wenn auch nur aus Symmetriegründen? Ist es einfach nur Allergie gegen C?
-
1.) Quelle?
2.) Tja, warum nicht einfach 0?
3.) Wo ist EXIT_SUCCESS definiert?
-
knivil schrieb:
3.) Wo ist EXIT_SUCCESS definiert?
in <cstdlib>, so wie auch EXIT_FAILURE
-
1.) http://www.c-plusplus.net/forum/p2280505#2280505
Hier unter Anderem.
2.) 0 zeigt beispielsweise eine Warnung unter VMS an:
http://h71000.www7.hp.com/doc/82final/5973/5973pro_022.html
-
mortified_penguin schrieb:
Hier unter Anderem.
Am Besten ignorierst du alles, was Sone von sich gibt.
mortified_penguin schrieb:
2.) 0 zeigt beispielsweise eine Warnung unter VMS an:
Das hat nichts mit Exit-Codes zu tun.
-
...
-
@MFK
Stimmt, das meinte ich:
http://h71000.www7.hp.com/commercial/c/docs/5492profile_016.html
Tabelle 3-13.
-
mortified_penguin schrieb:
@MFK
Stimmt, das meinte ich:
http://h71000.www7.hp.com/commercial/c/docs/5492profile_016.html
Tabelle 3-13.Und was hat das mit C++ und EXIT_SUCCESS zu tun!?
-
Habe mich vielleicht ein bisschen falsch ausgedrückt, mir gings weniger um EXIT_SUCCESS als um EXIT_FAILURE.
Angenommen ich will irgendwo in meinem Programm einen Fehler anzeigen und schreibe "return 1;". Wenn ich jetzt auf einem VMS-System das Programm starte und es gibt einen Fehler, schließt das Programm ja mit einem return-Wert von 1 ab, was dann fälschlicherweise als Erfolg gewertet würde.
Ist im Prinzip ja nicht so tragisch, aber wenn man das Programm in Skripten verwendet ist das schon ziemlich blöd.
-
Ähm, ja dann musst du auf deinem VMS System eben was anderes returnen, das mit 0 für Erfolg und was anderes für Fehler ist einfach nur die gängigste Konvention. VMS folgt offenbar halt einer anderen Konvention...
-
Auch EXIT_FAILURE kannst du in C++ verwenden.
MfG SideWinder
-
dot schrieb:
Ähm, ja dann musst du auf deinem VMS System eben was anderes returnen, das mit 0 für Erfolg und was anderes für Fehler ist einfach nur die gängigste Konvention. VMS folgt offenbar halt einer anderen Konvention...
Naja dann kann ich doch gleich EXIT_FAILURE nehmen, dann muss ich mir darüber keine Gedanken machen.
Aber danke für die Antworten bisher, haben mir geholfen!