例1:纯C环境下,注册C函数进LUA环境 (lua调用c)
Main.c
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
int foo(lua_State *L)
{
int n = lua_tonumber(L, 1);foo函数参数
lua_pushnumber(L, n + 1);foo 返回值
return 1; foo函数返回值个数
}
int main()
{
lua_State *L = lua_open(); 初始化一个state
luaL_openlibs(L); 加载lua基本库
lua_register(L, "foo", foo);注册C函数foo
luaL_dofile(L, "a.lua");装载,检查,并立即执行a.lua
lua_close(L);与lua_open对应,关闭state

本文介绍了如何在C环境中注册并调用Lua函数,以及在Lua中调用C函数的方法。通过示例代码展示了lua_register、lua_pushcfunction、lua_setglobal等函数的使用,以及lua_call和lua_pcall调用Lua函数的过程。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



