hat einige Sprache oder Plattform nicht eine feste Größe des Stapels und daher nicht leicht zu überlaufen? Ich erinnere mich daran, C unter UNIX zu benutzen, der Stack war schwer zu überfließen, aber in den Tagen von Win 3.1 war der Stack sehr leicht zu überlaufen.Welche Sprache/Plattform hat keine feste Stapelgröße?
Antwort
Wenn von „stapeln“ Sie alle alten Stapel bedeuten, die meisten Sprachen tun-- Java hat eine stack Klasse, die nur durch Speicher begrenzt ist. Wahrscheinlicher meinst du den Aufruf-Stack, in diesem Fall ist das größte Beispiel, das ich mir vorstellen kann, Stackless Python, das nach meinem Verständnis einen pure-python-Speicher-begrenzten Stack (wie Java) als Call-Stack für Python-Code verwendet den Call-Stack von C verwenden.
Dies ist eine Frage der praktischen gegenüber der theoretischen. der Stapel eines Lisp-Interpreter ist nur durch die verfügbaren Speicher
in Schema und anderen Sprachen, die Endrekursion implementieren, würde ein Schwanz rekursive Funktion einen unendlichen Stapel
Eine tail rekursive Funktion mit der zugehörigen iterativen Optimierung geht, soweit ich weiß, nicht auf den Stapel. Wenn Sie "stack" als auf aufrufende Funktionen bezogen definieren, ist diese Aussage als Abstraktion wahr, aber ich würde diese Abstraktion nicht verwenden, da sie nicht besonders hilfreich ist. Ich hatte nicht den Eindruck, dass diese Definition auch normal war. –
kann C nicht auf UNIX/Solaris auch eine Stack-Größe haben, die nur durch den physischen Speicher begrenzt ist? –
Ich erinnere C hatte/hatte eine Stack-Segment-Größe, die ein Kernel-Param ist – jottos
Die Mac-Systeme 6, 7 und 8 hatten Aufruf-Stacks, die ohne künstliche Begrenzung wachsen konnten.
Es hat auch keinen garantierten Weg, um einen Stapel zu erkennen - Heap-Kollision, und könnten Sie in alle Arten von Schwierigkeiten auf diese Weise ...
- 1. clipAndEnableScrolling, wenn der Elternteil keine feste Höhe hat?
- 2. Feste Kopfzeile hat Lücke in Firefox
- 3. C++ vs2010 erhöhen Stapelgröße
- 4. Warnmeldung bezüglich Stapelgröße
- 5. Stapelgröße auf BlackBerry?
- 6. Welche Funktion hat SOCK_STREAM?
- 7. Welche Besonderheiten hat Compass?
- 8. SVG-Bild wird in IE11/Edge nicht richtig dargestellt, wenn der Container keine feste Breite hat
- 9. Wie misst man die Stapelgröße eines Prozesses?
- 10. StackOverflowException auch nach dem Erhöhen der Stapelgröße
- 11. Überprüfen der Stapelgröße in C#
- 12. Welche Funktion hat Exif-Daten?
- 13. Welche .jar-Datei hat javax.xml.stream. *?
- 14. Welche besonderen Kräfte hat ashmem?
- 15. Welche Bedeutung hat das Clustering?
- 16. Welche Quellcodeverwaltung hat MATLAB-Integration?
- 17. Feste Größe
- 18. Hat Ruby keine Isalpha?
- 19. schema_version hat keine Auswahlberechtigung?
- 20. Funktionsargument hat keine Art
- 21. 'datetime.time' hat keine 'mktime'
- 22. FragmentTransaction.remove hat keine Wirkung
- 23. hat keine Klassenart C++
- 24. RecyclerView hat keine Daten
- 25. Ich möchte, dass mein Textfeld eine feste Breite hat
- 26. Welche Sprachen haben keine Schleifenkonstrukte?
- 27. Benutzer hat keine Berechtigung, DBCC DBREINDEX
- 28. jqgrid feste Spaltenüberschrift und feste Fußzeilen
- 29. UILabel feste Breite/feste Höhe erhalten Textnummer
- 30. Warum hat C keine snwprintf-Funktion?
ähnliche Frage erhalten: http://stackoverflow.com/questions/53827/checking-available-stack-size-in-c –