LUA调用C语言实现的SO库
作者:糖果
这篇文章归纳lua5.1的C语言模库so的“标准”写法,代码都是编译通过的,可直接参考使用!
tangguo.h
#ifndef __tangguo_h__
#define __tangguo_h__
#include "lauxlib.h"
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
extern int add(lua_State* L);
extern int sub(lua_State* L);
extern int luaopen_libtangguo(lua_State* L);
static luaL_Reg libtangguo[] = {
{"add", add},
{"sub", sub},
{NULL, NULL}
};
#endif
tangguo.c
#include "tangguo.h"
int sub(lua_State* L) {
double op1 = luaL_checknumber(L, 1);
double op2 = luaL_checknumber(L, 2);
lua_pushnumber(L, op1 - op2);
return 1;
}
int add(lua_State* L) {
double o