2016-08-15 8 views
3

lua에서 컴파일하여 콘솔에서 결과를 출력합니다.이것은 무엇입니까? '[C] :?'

나는 하나의 질문이 있습니다.

[C] :? < - 그게 무슨 뜻인가요?

stack traceback: 
    test2.lua:2: in function 'myfunction' 
    test2.lua:8: in main chunk 
    [C]: ? <----- this point 
+0

,이는'debug.traceback' 기능과 관련된되고, [무엇] (https : //로 WWW. lua.org/manual/5.3/manual.html#lua_Debug) 필드의'debug.getinfo' 구조체에 있습니다. –

답변

3

그것은 (루아 함수와는 대조적으로) 스택 추적의 레벨이 C 함수 인 것을 의미한다. 예를 들어

:

$ lua -e 'print(io.popen())' 
lua: (command line):1: bad argument #1 to 'popen' (string expected, got no value) 
stack traceback: 
    [C]: in function 'popen' 
    (command line):1: in main chunk 
    [C]: ? 

깊은 자세한 내용은
$ lua -e 'function t() print(nil + 5) end t()' 
lua: (command line):1: attempt to perform arithmetic on a nil value 
stack traceback: 
    (command line):1: in function 't' 
    (command line):1: in main chunk 
    [C]: ?