Luajit는 스택/힙 크기를 증가시킵니다
문제
Luajit에서 계속 메모리 오류가 발생합니다. 스택이나 힙 크기를 어떻게 늘리나요?
감사
해결책
나는 장난감 예제 외에 Luajit을 직접 사용하지 않았습니다. 그러나 다른 사람은 아직 답을 제공하지 않았기 때문에 ...
스키밍에서 선적 서류 비치, Luajit은 표준 Coroutine 라이브러리의 Coco 확장에 의존합니다. Coco가 도입 한 변경 사항 중 하나는 새 코 루틴을 생성하는 기능이 이제 스택 크기를 지정하는 선택적 인수를 취한다는 것입니다.
코코 문서 인용 :
coro = coroutine.create(f [, cstacksize])
func = coroutine.wrap(f [, cstacksize])
선택적 인수
cstacksize
코 루틴에 할당 할 C 스택의 크기를 지정합니다.
- 기본 스택 크기가 사용됩니다
cstacksize
제공되지 않거나 있습니다nil
또는 0.- C 스택이 할당되지 않습니다
cstacksize
~이다-1
.- 다른 값은 최소 크기로 반올림됩니다 (예 : 사용
1
최소 크기를 얻으려면).
새로운 기능도 있습니다 coroutine.cstacksize([newdefault])
이로 인해 기본 C 스택 크기와 C API에 대한 해당 변경 사항이 설정됩니다.
또한 Luajit 버전의 Luaconf.h에는 수많은 컴파일 타임 구성 옵션이 있습니다. 기본값을 설정하는 것이있을 수 있습니다. Windows에는 Application의 .def 파일의 stacksize 문을 통해 MSVC의 Link.exe가 설정 한 실행 파일의 기본 스택에 대한 링크 시간 설정도 있습니다.
제휴하지 않습니다 StackOverflow