2014-04-01 3 views
2

을 초과했습니다. 그래서 SciLab에 퍼즐 (텐트)을 해결하는 코드를 써야하는이 프로젝트가 있습니다. 코드가 더 좋아지고 길어질수록 코드가 길어지고 길어 지지만 갑자기 "스택 크기가 초과되었습니다"라는 오류가 발생합니다. SciLab - 스택 크기가

Error log: 
!--error 17 
stack size exceeded! 
Use stacksize function to increase it. 
Memory used for variables: 28875 
Intermediate memory needed: 59987764 
Total memory available: 10000000 

나는 일어나는 모든 SciLab 전혀 경고없이 자체를 종료하고,이 라인

stacksize('max') 

그리고 작동

stacksize(1e8) 

어느 것도이 하나를 사용했습니다.

어떻게 스택 크기를 초과 했습니까? 이것을 막을 수있는 방법이 있습니까? 어떻게하면 더 계속할 수 있습니까?

+0

어떤 플랫폼을 사용합니까 (32/64/win)? 어떤 크기의 RAM이 있습니까? 'stacksize ('max') 명령은 즉시 SciLab을 종료 시키거나 명령 뒤에 계산을 수행합니까? – Peter

+0

저는 win 64와 8GB RAM을 사용합니다. Scilab은 프로그램을 실행할 때 즉시 종료됩니다. 늦게 응답 btw 죄송합니다, 당신은 여전히 ​​이것을 알게 되길 바랍니다 :) – Krikke93

+0

깨끗한 파일에서'stacksize ('max')'명령은 Scilab를 코어 덤프합니까? – Peter

답변

1

이 문제를 해결하는 방법을 스스로 알았습니다. 여기에 같은 문제를 가진 사람들에 대한 잘못 무슨 짓을했는지 : 함수 내에서

내가 매트릭스에서 개체의 좌표를 저장할 라인

[m,n] = [x,y] 

을 사용했다. 이것은 루프 안에서 x와 y를 사용하여 매트릭스를 검색합니다.

은 분명히이 스택 크기가 오류를 초과 여기에 내가 나중에 쓴 방법은 원인 :

m = x 
n = y 

나는 아무 생각이 라인이 오류가 발생하는 이유는, 그러나 이것은 내가 그것을 해결 한 방법이다.

관련 문제