Es gibt eine Funktion, die sich rekursiv unendlich aufruft.Was passiert, wenn die Funktion während der unendlichen Rekursion den Stapelspeicher verlässt?
Diese Funktion hat auch einige Argumente.
Für jeden Funktionsaufruf werden die Argumente und die Rücksprungadresse auf den Stapel geschoben.
Für jeden Prozess gibt es eine feste Größe des Stapelspeichers, die nicht dynamisch wie Heap wachsen kann. Und ich denke, jeder Thread hat auch einen eigenen Stapel.
Wenn nun eine Funktion rekursiv unendlich aufgerufen wird und der Prozess nicht mehr im Stack-Bereich läuft, was passiert dann?
Wird Programmabsturz? Wird OS die Situation behandeln? Da es 4 GB Adressraum gibt, warum kann das OS nichts tun, um die Stackgröße zu erhöhen.
Ich weiß nicht, ich dachte, es war süß. ++ – guns