小编Kar*_*lte的帖子

Lua从C添加/更改全局变量

我有一个小的Lua脚本:

function g ()
    print( AUp);
end
Run Code Online (Sandbox Code Playgroud)

从CI加载脚本,添加一个名为AUp的变量,让它运行几百次.

for( i=0; i<2000; i++)
{
    num= i;
    lua_pushnumber( L, i);
    lua_setglobal( L, "AUp");

    lua_getglobal( L, "g");
    if (lua_call( L, 0, 0) != 0)
       printf( "%s", lua_tostring(L, -1));
}
Run Code Online (Sandbox Code Playgroud)

始终是打印输出为0.如果我输入(i + 1),则输出始终为1.我无法更改AUp的值.该值保持不变,就像第一次调用lua_pushnumner和lua_setglobal时一样.

怎么了?该函数应该一次又一次地调用,但是AUp的值可以改变,所以我必须在调用之前更新它lua_call.

c variables lua

5
推荐指数
1
解决办法
6855
查看次数

标签 统计

c ×1

lua ×1

variables ×1