这是什么?'[C]: ?'

在lua中编译,任何结果都会输出到控制台。

我有一个问题。

[C]: ? <- 这是什么意思?

堆栈追踪:
    test2.lua:2:在函数'myfunction'中
    test2.lua:8:在主代码块中
    [C]: ?   <----- 这个点
点赞
用户258523
用户258523

这意味着堆栈跟踪的级别位于 C 函数中(而不是 Lua 函数)。

例如:

$ 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]: ?
2016-08-15 13:57:43