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 }