您的位置:首页 > 编程语言 > Lua

lua和c交互用到的c api介绍

2015-10-13 13:57 435 查看
lua和c进行数据换时,使用栈,相关的操作接口如下:

1.压入元素

void lua_pushnil (lua_State *L); //压入空值到栈中

void
lua_pushboolean (lua_State *L,int bool); //布尔

void
lua_pushnumber (lua_State *L,doublen); //double

void
lua_pushlstring (lua_State *L,const char*s,size_t length); //任意的字符串(char*类型,允许包含'\0'字符)

void lua_pushstring (lua_State *L,const char*s); //字符串('\0')结尾

2.查询元素

API 提供了一套 lua_is*函数来检查一个元素是否是一个指定的类型,*可以是任何

Lua 类型。因此有 lua_isnumber,lua_isstring,lua_istable 以及类似的函数。所有这些函数都

有同样的原型:

intlua_is... (lua_State *L,intindex);
//成功返回真 否则返回假

当我们需要从栈中获得值,这里有 lua_to*函数:

int lua_toboolean (lua_State *L, int index);

double lua_tonumber (lua_State *L, int index);

const char * lua_tostring (lua_State *L, int index);

size_t lua_strlen (lua_State *L, int index);

关于C和LUA交互的API,会陆续更新。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: