2010-12-22 82 views
1

我在C/C + =應用程序中嵌入了Lua。我希望能夠設置一個超時值以防止陷入可能導致無限循環的嚴重寫入的腳本(或者甚至需要花費無限時間完成的字符串搜索)。嵌入式Lua的設置超時

基本上,我希望能夠設置一個時間間隔,如果腳本在該時間間隔結束時未能完成運行,我希望能夠殺死Lua腳本引擎(如果可能,優雅地)。

任何人都知道最佳實踐方式來做到這一點?

+0

Duplicate question http://stackoverflow.com/questions/1656754/can-lua-timeout http://stackoverflow.com/questions/2777527/stopping-a-runaway-lua-subprocess – gwell 2010-12-22 17:58:15

回答

1

控制腳本所需時間的一種方法是設置計數掛鉤,然後在掛鉤中引發錯誤。但是,如果腳本可以調用可能需要很長時間的C函數,則這不起作用。