); // 公共函数调用的实现就在此啊
lua_pushstring(L, "__index");
lua_pushvalue(L, -2); // 注意这一句,其实是将__index设置成元表自己
lua_settable(L, -3);
lua_pushstring(L, "Add"); // 放元表中增加一个函数。这样所有基于该元表的Table就都有Add方法了
lua_pushcfunction(L, CallAdd);
lua_settable(L, -3);
lua_pop(L,1);
luaL_dofile(L, "LuaUseClass.lua");
lua_close(L);
}
makefile
CPPFLAG=`pkg-config --cflags lua5.1`
LDFLAG=`pkg-config --libs lua5.1`
CC=g++
all: LuaUseClass
LuaUseClass : LuaUseClass.cpp
$(CC) -o $@ $(CPPFLAG) $(LDFLAG) $<
测试环境
类型 |
值 |
操作系统 |
Ubuntu 10.10 |
lua |
5.1.4 |
运行结果
|