/***************************************************C++ main.cpp**************************************************/
#include <iostream>
#include <stdio.h>#include <stdlib.h>
#include "lua.hpp"
using namespace std;
int FOO = LUA_REFNIL;
int dosomething(lua_State *L)
{
cout << "insid c code" << endl;
FOO = luaL_ref(L, LUA_REGISTRYINDEX); //将从Lua脚本中传入的Lua函数保存起来
return 0;
}
int main()
{
lua_State *L = luaL_newstate();
luaL_openlibs(L);
lua_register(L, "dosomething", dosomething); //给Lua中注册一个c函数

本文介绍了如何在C++程序中加载Lua脚本,保存Lua函数`foo`并进行调用。通过`luaL_dofile`加载`main.lua`,然后在C++代码中传递并执行Lua的`foo`函数。
最低0.47元/天 解锁文章
1154

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



