어떻게 Lua 스택에서 문자열 값을 안전하게 읽을 수 있습니까? lua_tostring
및 lua_tolstring
함수는 모두 Lua 오류 (이상한 형식의 longjmp/예외)를 발생시킬 수 있습니다. 따라서 함수는 보호 모드에서 lua_pcall
을 사용하여 호출해야합니다. 하지만 좋은 해결책을 찾을 수 없으며 Lua 스택에서 문자열 값을 C++로 가져 오는 방법을 찾을 수 없습니다. lua_pcall
을 사용하여 보호 모드에서 lua_tolstring
을 호출해야합니까?안전하게 Lua 스택에서 문자열 읽기
실제로는 lua_pcall
을 사용하는 것이 좋지 않습니다. 왜냐하면 루아 스택에서 읽고 싶은 문자열이 lua_pcall
에 저장된 오류 메시지이기 때문입니다.
숫자에서 문자열로의 변환이 필요없는 경우 lua_tostring이 "nothrow"라는 보장이 있습니까? –
@JurajBlaho, 대답을 업데이트했습니다. – lhf
감사합니다.이 정보는 Lua 참조 설명서에 없습니다. –