Linux下编写Lua扩展so文件和调用方法实例(linux扩展文件系统)居然可以这样

随心笔谈2年前发布 admin
192 0 0

文章摘要

这篇文章介绍了如何在C语言中实现一个Lua库。代码中定义了一个名为`l_sin`的静态函数,该函数接收一个双精度数,计算其正弦值,并通过`luaL_checknumber`和`lua_pushnumber`将结果返回。此外,文章还定义了一个包含该库函数的`mylib`表,并通过`luaI_openlib`函数将其注册为一个可访问的Lua库。文章重点突出在C语言中通过Lua扩展实现简单数学函数的定义和注册过程。

#include

#include

#include

#include

#include

#include

#include

#include

#include

 

#include

#include “lua.h”

#include “lualib.h”

#include “lauxlib.h”

int luaopen_mylib(lua_State *L);

static int l_sin (lua_State *L)

{

double d=luaL_checknumber(L, 1);

lua_pushnumber(L, sin(d));

//printf(“ok now is  luahook!\n”);

return 1;

}

static const luaL_Reg mylib[]=

{

,

{NULL, NULL}

};

 int luaopen_mylib(lua_State *L)

{

  luaI_openlib(L, “mylib”, mylib, 0);

return 1;

}

© 版权声明

相关文章