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);
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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM