lua调用c++

来源:互联网 发布:java飞机大战扇形子弹 编辑:程序博客网 时间:2024/06/06 14:16

TestLib.h

////  TestLib.h//  TestLua////  Created by jianan on 2017/8/1.////#ifndef TestLib_h#define TestLib_hextern "C" {#include "lua.h"#include "lualib.h"#include "lauxlib.h"}// 全局的函数,用于导出,内部完成注册和初始化功能int luaopen_testLib(lua_State *L);#endif /* TestLib_h */
TestLib.cpp

////  TestLib.cpp//  TestLua////  Created by jianan on 2017/8/1.////#include <stdio.h>#include "TestLib.h"static int testFunc(lua_State *L){    printf("http://www.jellthink.com\n");    lua_pushnumber(L, 250);    lua_pushstring(L, "hello lua");    return 2;  //表示2个参数}static const struct luaL_Reg myLib[] ={    {"test", testFunc},    {NULL, NULL}};int luaopen_testLib(lua_State *L){    luaL_register(L, "testLib", myLib);    return 1; // 把表压入了栈中,所以就需要返回1}

AppDelegate.cpp

#include "TestLib.h"
bool AppDelegate::applicationDidFinishLaunching(){      lua_State* L = engine->getLuaStack()->getLuaState();    lua_module_register(L);        luaopen_testLib(L); }

config.lua

require "testLib"local a, b = testLib.test()print(a..b)--http://www.jellthink.com--250hello lua






原创粉丝点击