其他分享
首页 > 其他分享> > 《lua设计与实现》第6章 指令的解析与执行--6.3表相关的操作指令

《lua设计与实现》第6章 指令的解析与执行--6.3表相关的操作指令

作者:互联网

6.3.1 创建表

    创建一个空表,测试代码为:

 

 

 

local p = {} --filename

 

          对应的OPCODE
typedef enum {
/*name  args  description */
// ......
// 创建一个表,将结果存入寄存器: 
// A:创建好的表存入寄存器的索引;B:数组部分大小;C:散列部分大小
OP_NEWTABLE,/* A B C R(A) := {} (size = B,C) */
// ......
} OpCode;

 

    使用dofile(个人测试代码)加载上述 filename 文件中的 lua 代码进行加载和解析:

int dofile(const char *filename) {
    lua_State *L = luaL_newstate();
    luaL_openlibs(L); // open all the libs above
    if (luaL_loadfile(L, filename)) {
        error(L, "luaL_loadfile %s", lua_tostring(L, -1));
    }
    lua_close(L);
    return 0;
}

 

标签:dofile,--,创建,filename,lua,指令,6.3,luaL
来源: https://www.cnblogs.com/yyqng/p/14727237.html