lua调用c++
发布时间:2020-12-14 22:04:22 所属栏目:大数据 来源:网络整理
导读:1c++部分 extern "C"{#include lua.h#include lualib.h#include lauxlib.h};lua_State* L;static int average(lua_State* L){int n = lua_gettop(L);double sum = 0;for(int i = 1; i = n; i++){if(!lua_isnumber(L,i)){lua_pushstring(L,"Incorrect argumen
<1>c++部分
extern "C" { #include <lua.h> #include <lualib.h> #include <lauxlib.h> }; lua_State* L; static int average(lua_State* L) { int n = lua_gettop(L); double sum = 0; for(int i = 1; i <= n; i++) { if(!lua_isnumber(L,i)) { lua_pushstring(L,"Incorrect argument to 'average'"); lua_error(L); } sum += lua_tonumber(L,i); } lua_pushnumber(L,sum/n); lua_pushnumber(L,sum); return 2; } void luaCallCPlusPlus() { L = lua_open(); luaL_openlibs(L); lua_register(L,"average",average); luaL_dofile(L,"e15.lua"); lua_getglobal(L,"avg"); lua_tointeger(L,-1); CCLog("===>%d",lua_tointeger(L,-1)); //30 lua_pop(L,1); lua_getglobal(L,"sum"); lua_tointeger(L,-1); lua_close(L); }<2>lua部分
//e15.lua avg,sum = average(10,20,30,40,50) print("The average is:"..avg) print("The sum is:"..sum)<3>使用 通过luaCallCPlusPlus既可以看到日志结果 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |