2015-11-17 20 views
0

lua5.1中lua_dobuffer等效於什麼?Lua_dobufffer等效於lua 5.1

在La 4.0 lua_dobuffer聲明如下:

int lua_dobuffer (lua_State *L, const char *buff, 
         size_t size, const char *name); 

但lua5.1我無法找到一個等效。

回答

1

luaL_loadbufferlua_dobuffer具有相同的簽名,但它不運行加載的字符串,只是將其加載到需要隨後調用的塊中。所以你需要自己處理那一點。

int luaL_loadbuffer (lua_State *L, 
       const char *buff, 
       size_t sz, 
       const char *name); 

加載一個緩衝器作爲一個Lua塊。此函數使用lua_load將塊加載到buff指向的緩衝區中,大小爲sz

該函數返回與lua_load相同的結果。 name是塊名稱,用於調試信息和錯誤消息。

+2

此外,請參閱['lauxlib.h'](http://www.lua.org/source/5.3/lauxlib.h.html)中定義'luaL_dostring'和'luaL_dofile'的方式。 – siffiejoe