lua语言调用 C函数库

1.首先创建一个C的so函数库

huilib.c

#include

#include

#include

#include

#include

#include

#include

/* 所有注册给Lua的C函数具有

 * "typedef int (*lua_CFunction) (lua_State *L);"的原型。

 */

static int l_add(lua_State *L)

{

    int x=luaL_checknumber(L,1);

    int y=luaL_checknumber(L,2);

    lua_pushnumber(L,x+y);

    lua_pushnumber(L,x-y);

     /*可以通过lua_pushnumber 返回给Lua值多个   【return 2  代表返回2个值 2是可增加的】*/

     return 2;

}


 

/* 需要一个"luaL_Reg"类型的结构体,其中每一个元素对应一个提供给Lua的函数。

 * 每一个元素中包含此函数在Lua中的名字,以及该函数在C库中的函数指针。

 * 最后一个元素为“哨兵元素”(两个"NULL"),用于告诉Lua没有其他的函数需要注册。

 */

static const struct luaL_Reg huilib[] 

你可能感兴趣的:(lua语言调用 C函数库)