linux lua调用java_Linux下编写Lua扩展so文件和调用方法实例

本文介绍了如何在Linux环境下编写Lua扩展库,通过C语言实现luaopen_mylib函数和l_sin函数,并展示了编译动态链接库libmylib.so的过程。同时,提供了Lua脚本示例,演示了如何调用这个扩展库中的函数。
摘要由CSDN通过智能技术生成

复制代码 代码如下:

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include "lua.h"

#include "lualib.h"

#include "lauxlib.h"

/* 库 open 函数的前置声明 */

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; /* number of results */

}

static const luaL_Reg mylib[] =

{

{"lsin", l_sin},

{NULL, NULL} /* 必须以NULL结尾 */

};

int luaopen_mylib(lua_State *L)

{

luaI_openlib(L, "mylib", mylib, 0);

return 1;

}

如果是.cpp文件,在luaopen_mylib一定要

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值