Cocos2dx lua 3.10版本绑定cjson流程

如题,使用cocos2dx lua自带的json效率很低,接入cjson来处理:


1、找到frameworks\cocos2d-x\cocos\scripting\lua-bindings\manual\network\lua_extensions.c,修改

#include "lua_extensions.h"

#if __cplusplus
extern "C" {
#endif
// socket
#include "luasocket/luasocket.h"
#include "luasocket/luasocket_scripts.h"
#include "luasocket/mime.h"
#include "lua/cjson/lua_cjson.h"

static luaL_Reg luax_exts[] = {
    {"socket.core",luaopen_socket_core},{"mime.core",luaopen_mime_core},{"cjson",luaopen_cjson },{NULL,NULL}
};

void luaopen_lua_extensions(lua_State *L)
{
    // load extensions
    luaL_Reg* lib = luax_exts;
    lua_getglobal(L,"package");
    lua_getfield(L,-1,"preload");
    for (; lib->func; lib++)
    {
        lua_pushcfunction(L,lib->func);
        lua_setfield(L,-2,lib->name);
    }
    lua_pop(L,2);

    luaopen_luasocket_scripts(L);
}

#if __cplusplus
} // extern "C"
#endif

2、android打包库里添加: frameworks\cocos2d-x\cocos\scripting\lua-bindings\proj.android\Android.mk

          ../../../../external/lua/cjson/strbuf.c \
          ../../../../external/lua/cjson/fpconv.c \
          ../../../../external/lua/cjson/lua_cjson.c \
3、ios平台暂时未处理,待续~~~

相关文章

操作步骤 1、创建cocos2d-x工程 2、新建 Scene1.cpp Scene1.h Scene1.h代码 #ifndef __SCENE1_H__#defi...
开发环境:OS(WINDOWS 8.1 X64 企业版) cocos2d-x 2.2.1 vs2010 想给vs安装上cocos的模版,执行Install...
把创建项目做成一个批处理,当创建项目时可以省时省力很多。 操作步骤 1、在 E:cocos2d-x-2.2.1toolspr...
https://www.cnblogs.com/JiaoQing/p/3906780.html 四个响应函数 1 EventListenerPhysicsContact* evC...
转载于 http://www.cnblogs.com/kenkofox/p/3926797.html 熟悉js的dom事件或者flash事件的,基本都能立...
ScrollView(滚动容器)加载大量item时会导致游戏界面的卡顿,严重时整个界面会出现卡死的情况。最近项...