8,304
社区成员
发帖
与我相关
我的任务
分享
// 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