문제

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가 설정 한 실행 파일의 기본 스택에 대한 링크 시간 설정도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top