skynet中使用cjson

skynet早期版本有lua-cjson库,后来使用sproto取代了cjson,也直接将代码移除,但游戏中还是有json的需求。

lua5.3开始支持整形,但cjson并没有适配lua5.3, 如果直接编译使用会造成将json串中的数字转为浮点数。

所幸云风为cjson出一个补丁:https://github.com/mpx/lua-cjson/pull/22

当然如果感觉麻烦,还可以直接使用云风维护的一个分支:https://github.com/cloudwu/lua-cjson

这里以skynet中使用cjson为例,当前skynet中使用的是lua5.3.5,我们已经在ubuntu上安装了lua5.3.5,如果没有安装,则看我这篇教程:
ubuntu上安装Lua(源码安装方式,可指定版本)

下载这个cjson

git clone https://github.com/cloudwu/lua-cjsonCloning

你会看到有个lua-cjson目录,进入该目录:
在这里插入图片描述
输入命令:make
在这里插入图片描述
看到这里没有报错,再输入ls命令,就会看到:
在这里插入图片描述
如果有报错,告诉大家一个排查错误的方法:
看Makefile文件:
在这里插入图片描述
看这个路径就知道,你检查一下你的路径里是否有这些,比如版本5.3,后面的lua目录是拼接起来的,你如果安装的是lua5.3.x的话,这里应该不会报错,否则就先检查这些这些目录里是否存在lua的相关文件,没有的话,就先按照我的教程安装一遍lua5.3.5,或者直接用apt-get安装lua5.3.x
将生成的cjson.so复制到luaclib文件夹,或者你自己定义的文件夹,让skynet可以找到它。

ubuntu上安装Lua(源码安装方式,可指定版本)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值