从C到Lua获取API信息?

从C到Lua获取API信息?,c,lua,C,Lua,如何使用Lua获得所有C API函数的列表? 例如,在游戏(Crysis)中有很多C函数 可以用 卢阿: 游戏规则:FunctionInC() 我知道很多函数,但如何获得所有可用函数?如果g\u gameRules.game是一个表,请遍历它以查找函数。如果是userdata,请查看其元表内部。(如果它是一个表。)如果g_gameRules.game是一个表,则遍历它以查找函数。如果是userdata,请查看其元表内部。(如果它是一个表的话。)可能有也可能没有一种简单的方法来枚举所有的C函数 f

如何使用Lua获得所有C API函数的列表? 例如,在游戏(Crysis)中有很多C函数 可以用

卢阿: 游戏规则:FunctionInC()


我知道很多函数,但如何获得所有可用函数?

如果
g\u gameRules.game
是一个表,请遍历它以查找函数。如果是userdata,请查看其元表内部。(如果它是一个表。)

如果
g_gameRules.game
是一个表,则遍历它以查找函数。如果是userdata,请查看其元表内部。(如果它是一个表的话。)

可能有也可能没有一种简单的方法来枚举所有的C函数

for k,v in pairs(g_gameRules.game) do if print(k,v) end
for k,v in pairs(getmetatable(g_gameRules.game).__index) do print(k,v) end
for i,v in pairs(getmetatable(g_gameRules).__index) do 
    System.LogAlways(i.." : "..v); 
end
g_gameRules.game
实际上可能包含这些函数,但这是不寻常的。下面将列出这些函数

for k,v in pairs(g_gameRules.game) do if print(k,v) end
for k,v in pairs(getmetatable(g_gameRules.game).__index) do print(k,v) end
for i,v in pairs(getmetatable(g_gameRules).__index) do 
    System.LogAlways(i.." : "..v); 
end
更有可能的是
g_游戏规则。游戏
将有一个带有
\u索引
项的元表,该项是表或函数。如果
\u索引
项是一个表,则以下将列出所有函数

for k,v in pairs(g_gameRules.game) do if print(k,v) end
for k,v in pairs(getmetatable(g_gameRules.game).__index) do print(k,v) end
for i,v in pairs(getmetatable(g_gameRules).__index) do 
    System.LogAlways(i.." : "..v); 
end
这将只确定函数的名称,参数列表仍然是未知的


但是,如果元表的
\u index
值是一个函数,则没有简单的方法列出函数。

可能有也可能没有简单的方法来枚举所有C函数

for k,v in pairs(g_gameRules.game) do if print(k,v) end
for k,v in pairs(getmetatable(g_gameRules.game).__index) do print(k,v) end
for i,v in pairs(getmetatable(g_gameRules).__index) do 
    System.LogAlways(i.." : "..v); 
end
g_gameRules.game
实际上可能包含这些函数,但这是不寻常的。下面将列出这些函数

for k,v in pairs(g_gameRules.game) do if print(k,v) end
for k,v in pairs(getmetatable(g_gameRules.game).__index) do print(k,v) end
for i,v in pairs(getmetatable(g_gameRules).__index) do 
    System.LogAlways(i.." : "..v); 
end
更有可能的是
g_游戏规则。游戏
将有一个带有
\u索引
项的元表,该项是表或函数。如果
\u索引
项是一个表,则以下将列出所有函数

for k,v in pairs(g_gameRules.game) do if print(k,v) end
for k,v in pairs(getmetatable(g_gameRules.game).__index) do print(k,v) end
for i,v in pairs(getmetatable(g_gameRules).__index) do 
    System.LogAlways(i.." : "..v); 
end
这将只确定函数的名称,参数列表仍然是未知的

但是,如果元表的
\u index
值是一个函数,那么就没有简单的方法列出这些函数

for k,v in pairs(g_gameRules.game) do if print(k,v) end
for k,v in pairs(getmetatable(g_gameRules.game).__index) do print(k,v) end
for i,v in pairs(getmetatable(g_gameRules).__index) do 
    System.LogAlways(i.." : "..v); 
end

    for i,v in pairs(g_gameRules) do 
    System.LogAlways(i.." : "..v); 
end

    for i,v in pairs(g_gameRules) do 
    System.LogAlways(i.." : "..v); 
end

是否有某种文档可用?是否有某种文档可用?