2017-02-14 158 views
0

我使用的是使用過大的符號/字符串變量Scilab的,這是給下面的錯誤:如何增加緩衝區大小,以SCILAB

Too large string. at line 44 of exec file called by :
exec('/proj/shubhamj/shubhamj/scilab/final_add_from_script.sce', -1)

我已經使用stacksize('max')

+0

我很久沒做過Scilab了,但在查看郵件列表[here](http://mailinglists.scilab.org/too-large-string-td3389713.html)後,似乎發現錯誤實際上可能來自您嘗試執行的命令的長度,而不是來自堆棧大小(因爲'exec(...)'完全是這樣做的 - 來運行您傳遞的參數)。根據[文檔]( https://help.scilab.org/doc/5.5.2/en_US/stacksize.html)默認堆棧大小約爲。 76MB(是,兆字節),我真的懷疑,無論你加載(字符明智)佔用了太多的空間。收起SCE文件 – rbaleksandar

+0

@rbaleksandar Thanx男人,是的,這是問題。我正在使用長度超過80,000(80k)字符的字符串,現在我把它分解成更小的部分和它的工作.. :) –

+0

:)將它作爲答案來關閉該問題。 – rbaleksandar

回答

1

根據Scilab郵件列表上的this thread,錯誤來自命令的長度。即使在您當前的腳本中(即當前調用exec()),如果您調用的命令時間太長,也可以在沒有exec()的情況下得到相同的錯誤。

如果我們看看documentation,默認的堆棧大小約爲。 76MB(兆字節),這是很多字符,使這個問題99.9%與堆棧的大小無關。