[cocos2dx_Lua]3.10版本使用cjson

Lua CJSON是Lua语言提供高性能的JSON解析器和编码器,其性能比纯Lua库要高10到20倍。
cocos2dx lua 3.10 默认目录中包含cjson文件(目录:/frameworks/cocos2d-x/external/lua),但是没有使用。而是用的json.lua进行解析json。效率低下,json字符串稍微大点,进行decode的时候就非常卡。

1.首先将cjson加入到工程


2.修改lua_extensions.h文件


把cjson加入到package.preload表中,在lua层使用:

---json是全局变量与string一个级别,可以通过打印 package.loaded 来看到
---不需要再require("json"),require("json")是多余的,require("json")与json地址是相同的
---当全局变量json被赋值时,可以通过require("json")来找回
function m.requireJson()
	if package.preload["cjson"] then
		json = require("cjson")
	end
end
m.requireJson()

3.android需要修改mk文件,修改目录在自己工程proj.android下的jni文件夹下的android.mk文件


把源文件编入到库中,需要把cjson下的所有源文件到包含进去

参考:cocos2dx3.1 lua绑定C++类

猜你喜欢

转载自blog.csdn.net/ouyangshima/article/details/79848199