哪位移植过lua_tinker支持lua5.2的?

guolisen 2012-10-14 10:47:42
哪位移植过lua_tinker支持lua5.2的?

我将原来的LUA_GLOBALSINDEX 改为LUA_REGISTRYINDEX ,并将main函数中原来的lua_open改为:
lua_State* L = luaL_newstate(); //lua_open();

运行第一个例子。可是返回如下错误:

sample1.lua:2: attempt to call global 'cpp_func' (a nil value)
<call stack>
-> cpp_func() : line -1 [=[C] : line -1]
unknown : line 2 [@sample1.lua : line 0]
lua_tinker::call() attempt to call global `lua_func' (not a function)
lua_func(3,4) = 0

请各位移植过的朋友帮忙看看。要是有改好的帮忙发一个,谢了guolisen#163.com
...全文
262 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
欢乐马_19e9 2014-01-26
  • 打赏
  • 举报
回复
轻松升级lua_tinker支持lua5.2 http://blog.csdn.net/evilswords/article/details/8669623 再来一发
欢乐马_19e9 2014-01-26
  • 打赏
  • 举报
回复
lua5.2下使用lua_tinker http://blog.csdn.net/boyxiaolong/article/details/17268529 不谢。
guolisen 2012-10-14
  • 打赏
  • 举报
回复
// sample1.cpp : C++ 客 Lua 惑龋埃狼 窃荐 角青阑 舅酒夯促.
//

#include <iostream>
#include <tchar.h>

// TODO: reference additional headers your program requires here

extern "C"
{
#include "../lua/lua.h"
#include "../lua/lualib.h"
#include "../lua/lauxlib.h"
};
#include "../lua_tinker/lua_tinker.h"

int cpp_func(int arg1, int arg2, char* arg3)
{
printf("%s\n", arg3);
return arg1 + arg2;
}

//template<typename F>
void regFun(lua_State* L, void* func)
{
lua_tinker::def(L, "cpp_func", cpp_func);
}

int _tmain(int argc, _TCHAR* argv[])
{
// Lua 甫 檬扁拳 茄促.
lua_State* L = luaL_newstate(); //lua_open();

// Lua 扁夯 窃荐甸阑 肺靛茄促.- print() 荤侩
luaopen_base(L);

// LuaTinker 甫 捞侩秦辑 窃荐甫 殿废茄促.
lua_tinker::def(L, "cpp_func", cpp_func);
//regFun(L, cpp_func);

// sample1.lua 颇老阑 肺靛/角青茄促.
lua_tinker::dofile(L, "sample1.lua");

// sample1.lua 狼 窃荐甫 龋免茄促.
int result = lua_tinker::call<int>(L, "lua_func", 3, 4, "Hello");

// lua_func(3,4) 狼 搬苞拱 免仿
printf("lua_func(3,4) = %d\n", result);

// 橇肺弊伐 辆丰
lua_close(L);

return 0;
}


-- C++ 俊辑 殿废茄 窃荐甫 龋免茄促.
result = cpp_func(1, 2, "Hello!")

print("cpp_func(1,2) = "..result)


-- 老馆利牢 lua 窃荐甫 急攫茄促.
function lua_func(arg1, arg2, arg3)
print(arg3)
return arg1 + arg2
end



64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧