004
16.07.2004, 19:37 Uhr
virtual
Sexiest Bit alive (Operator)
|
Zitat von Pablo: |
Geschmackssache, würde ich sagen. Früher gab es kein int main, sondern void main, ich vermute, irgendwie musste man der shell mitteilen, dass das programm mit oder ohne Fehlern beendet wurde.
|
Tatsächlich? Also IMHO war main niemals void... Der Unterschied zwischen exit und return ist ja augenscheinlich der, das return eine Anweisung und exit eine Funktion ist. Speziell in main verwendet, gibt es hier keinen semantischen Unterschied. Gemäß ANSI Standard (Abschnitt 5.1.2.2.3 für Fetischisten) ist ein return in main gleichbedeutend mit dem Aufruf von exit. In exit werden verschiedene Operationen ausgeführt: 1. Zunächst werden die mittels atexit registrierten AtExit Handler abgearbietet 2. Alle gepufferten, in FILEs geschriebenen Daten werden geflsucht. 3. Alle offenen Dateien werden geschlossen (sieht sogar der Standard vor, ist also nicht OS abhängig!) 4. Dateien, die mit tempfile erzeugt wurden, werden gelöscht. 5. Die Kontrolle wird ans OS zurückgegeben,
Bearbeitung: |
Nicht zuverwechseln ist die Funktion mit _Exit (ja, habe ich richtig geschrieben): die Überspringt Schritt 1, ob die Schritte 2-4 ausgeführt werden ist OS abhängig.
|
Bearbeitung von typecast: |
edit-Tag korrigiert
|
-- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) Dieser Post wurde am 16.07.2004 um 21:55 Uhr von typecast editiert. |