小编use*_*917的帖子

Lua 创建具有 upvalues C 的函数

我正在尝试创建一个从 lua 检查时具有 2 个上值的函数。debug.getinfo(fvalues).nups 应该是 2 。

static int fvalues (lua_State *L) {
    int n = lua_gettop(L);
    if (str.size() == 0) {
        str = "This_is_a_test";
    }
    const char *cstr = str.c_str();
    lua_pushstring(L, cstr);
    lua_pushcclosure(L, &fvalues, 1);
    lua_pushstring(L, cstr);
    lua_pushcclosure(L, &fvalues, 2);
    lua_pushstring(L, cstr);
    return 1; 
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,pushclosure 不应该创造升值,我不太明白这应该如何工作。

c lua

2
推荐指数
1
解决办法
3196
查看次数

标签 统计

c ×1

lua ×1