Luajit Erhöhung Stack / Heap-Größe
Frage
Ich halte in luajit einen aus dem Speicher Fehler. Wie erhöhe ich den Stapel oder Heap-Größe?
Danke
Lösung
Ich habe nicht luajit mich, anders als mit Spielzeug Beispielen verwendet. Aber da niemand sonst keine Antworten noch zur Verfügung gestellt hat ...
Von Abschöpfen der Dokumentation hängt luajit auf den Coco Erweiterungen der Standard Koroutine Bibliothek. Eine der Änderungen von Coco eingeführt ist, dass die Funktionen, die eine neue Koroutine jetzt nehmen ein optionales Argument, das angibt, die Stack-Größe.
erstellendie Coco docs Zitiert:
coro = coroutine.create(f [, cstacksize])
func = coroutine.wrap(f [, cstacksize])
Das optionale Argument
cstacksize
gibt die Größe des C-Stack zuteilen für die Koroutine:
- Eine Standard-Stack-Größe verwendet wird, wenn
cstacksize
nicht gegeben ist odernil
oder Null.- Keine C-Stack zugeordnet, wenn
cstacksize
-1
ist.- Jeder andere Wert wird auf die Mindestgröße aufzurunden (das heißt Verwendung
1
zu erhalten die Mindestgröße).
Es gibt auch die neue Funktion coroutine.cstacksize([newdefault])
dass Sätze die Standard-C-Stack-Größe, sowie einige entsprechenden Änderungen an den C-API.
Darüber hinaus gibt es zahlreiche Kompilierung-Konfigurationsoptionen in der luajit Version von luaconf.h. Es kann etwas drin sein, der die Standardsätze. Unter Windows gibt es auch eine Link-Zeiteinstellung für den Grund Stapel ausführbaren gesetzt von MSVC der Link.exe über die STACK Anweisung in der DEF-Datei der Anwendung.