lua⽂件是什么?
lua⽂件是什么?
  ⼀种⼩巧的脚本语⾔,其设计⽬的是为了嵌⼊应⽤程序中,从⽽为应⽤程序提供灵活的扩展和定制功能。Lua由标准C编写⽽成,⼏乎在所有操作系统和平台上都可以编译,运⾏。Lua并没有提供强⼤的库,这是由它的定位决定的。所以Lua不适合作为开发独⽴应⽤程序的语⾔。Lua 有⼀个同时进⾏的JIT项⽬,提供在特定平台上的即时编译功能。
  Lua脚本可以很容易的被C/C++ 代码调⽤,也可以反过来调⽤C/C++的函数,这使得Lua在应⽤程序中可以被⼴泛应⽤。不仅仅作为扩展脚本,也可以作为普通的配置⽂件,代替XML,ini等⽂件格式,并且更容易理解和维护。Lua由标准C编写⽽成,代码简洁优美,⼏乎在所有操作系统和平台上都可以编译,运⾏。⼀个完整的Lua解释器不过200k,在⽬前所有脚本引擎中,Lua的速度是最快的。这⼀切都决定了Lua是作为嵌⼊式脚本的最佳选择。
  运⾏可以通过 Lua 的交互模式,也可以⽤记事本编辑代码保存为 .lua 的格式,通过 lua 编译器运⾏。也可以通过第三⽅⼯具,将 lua 打包独⽴运⾏。
lua_newtable(L);            //创建⼀个表格,放在栈顶
lua_pushstring(L,"mydata"); //压⼊key
lua_pushnumber(L,66);        //压⼊value
lua_settable(L,-3);        //弹出key,value,并设置到table⾥⾯去
lua_pushstring(L,"subdata");//压⼊key
lua_newtable(L);            //压⼊value,也是⼀个table
lua_pushstring(L,"mydata"); //压⼊subtable的key
lua_pushnumber(L,53);
valuelua_settable(L,-3);    //弹出key,value,并设置到subtable
lua_settable(L,-3);        //这时候⽗table的位置还是-3,弹出key,value(subtable),
//并设置到table⾥去
lua_pushstring(L,"mydata2");//同上
lua_pushnumber(L,77);crash是什么意思
lua_settable(L,-3);
return1;
//栈⾥现在就⼀个table其他都被弹掉了。如果要返回⼀个数组,
//⽤如下代码:(注意那个关于trick的注释,我在等官⽅的解释。
//经过验证,这个问题只在windows版本调⽤dll中⽅法的时候出现。WinCE正常)
lua_pushstring(L,"arri");
lua_newtable(L);
{
//atrick:otherwisetheluaenginewillcrash.ThiselementisinvisibleinLuascript
lua_pushnumber(L,-1);
lua_rawseti(L,-2,0);
for(int i=0; i<arri.size(); i++)
{
lua_pushnumber(L, arri);
lua_rawseti(L, -2, i+1);
}
}
lua_settable(L,-3);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。