C/C++ 调用 Lua 函数有两种:
1, Lua 脚本里,没有local 修饰的函数,即为全局函数
2, Lua 脚本里,有local 修饰的函数,即为局部函数
其实调用函数和取Lua里的变量是一样的,网上讲得最多的是调用全局函数,这里主要讲调用非全局函数(或是变量)。
如有脚本: test.lua
--定义了一个全局表COM = {}
--定义了一个局部函数
local function add(a, b)
print("a = "..a);
print("b = "..b);
return a + b;
end
COM =
{
width = 2550,
myAdd = add,
}
有c文件: main.c
#include <stdio.h>
#include <stdlib.h>
#include "lauxlib.h"
#include "lua.h"
#include "lualib.h"
int main()
{
lua_State *L = luaL_newstate();
luaL_openlibs(L);
if(luaL_loadfile(L, "test.lua"))