代码改变世界

lua学习系列:c++调用lua脚本的简单示例

2013-07-08 10:17  钱吉  阅读(552)  评论(0)    收藏  举报
 1 #include <iostream>
 2 using namespace std;
 3 
 4 extern "C" {
 5     #include "lua.h"
 6     #include "lualib.h"
 7     #include "lauxlib.h"
 8 }
 9 #pragma comment(lib,"lua5.1.lib")
10 lua_State *L;
11 int luaAdd(int x, int y)
12 {
13     int sum;
14     lua_getglobal(L,"add");
15     lua_pushnumber(L,x);
16     lua_pushnumber(L,y);
17     lua_call(L,2,1);
18     sum = (int)lua_tonumber(L,-1);
19     lua_pop(L,1);
20     return sum;
21 }
22 
23 int main(int argc, char *argv[])
24 {
25     int sum = 0;
26     L = lua_open();
27     luaopen_base(L);
28     luaL_openlibs(L);
29     luaL_loadfile(L, "add.lua");
30     lua_pcall(L, 0, LUA_MULTRET, 0);
31     sum = luaAdd(10, 15);
32     printf("The sum is %d\n", sum);
33     lua_close(L);
34 
35     return 0;
36 }