SOUI官方论坛

 找回密码
 立即注册
查看: 252|回复: 0

简单易用的C++数据结构序列化工具

[复制链接]
  • TA的每日心情
    开心
    2021-9-14 10:39
  • 签到天数: 370 天

    [LV.9]以坛为家II

    509

    主题

    1219

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    18911
    发表于 2021-7-28 15:28:28 | 显示全部楼层 |阅读模式
    https://github.com/liufei-iven/everymsg.hpp
    everymsg.hpp
    一个极其简单易用的C++数据结构序列化工具。整个代码库只有两个.hpp文件,不依赖任何第三方代码库。
    优点:简单易用、源代码一看就懂、应用层代码可读性好、高性能
    缺点:仅支持C++、版本控制需要应用层考虑
    [color=var(--color-text-link)]应用场景:
    在C++语言编程过程中需要将结构化数据串行化存储或者经网络发送时,你就可以使用everymsg来实现。
    QQ图片20210728152614.png

    【元婴】学习-刘飞 11:24:16

    和soui中Demo-FrogPlay的开源协议一样。哈哈。。。

    【元婴】学习-刘飞 11:24:42
    就是你爱咋地就咋地,想咋整就咋整。

    【分神】华明 11:25:36
    厉害!!

    【分神】华明 11:26:33
    支持标准库的vector类型吗?

    【元婴】学习-刘飞 11:26:39
    必须的

    【分神】华明 11:26:52

    【分神】华明 11:27:27
    以前用的是cereal,看样子你的更高大上更轻便。

    【分神】华明 11:27:47
    感谢大佬,先收藏了。

    【元婴】学习-刘飞 11:28:08
    不谢!

    【元婴】DUI新手 11:29:16
    来给效果图啊

    【元婴】DUI新手 11:29:22
    来个效果图

    【SOUI作者】启程软件 11:30:26
    @学习-刘飞 你这个序列化和我在SOUI里提供的IPC模块的消息序列化思路有点类似,不过看起来我做的更简单。

    【元婴】学习-刘飞 11:31:00
    我去看看你是怎么做的

    QQ图片20210728152650.png

    【SOUI作者】启程软件 11:32:06
    这是我定义一个消息,自动序列化和反序列化。

    【元婴】学习-刘飞 11:35:47
    嗯,确实很相似,其实都是一个原理。都是通过宏函数展开入侵到应用层代码,然后把序列化动作提炼出来,减少使用应用成本。SOUI这个框架本身也就是在做这个事情,当然了,我这个小工具和SOUI简直不能相提并论。

    【SOUI作者】启程软件 11:36:37
    这个IPC也就是SOUI里一个小模块。

    【SOUI作者】启程软件 11:36:46
    思路类似。

    【龙骑士】薛之谦 11:39:08
    为什么要把序列化的事情,混杂到代码里面,我没理解这个优势在哪里。我是更习惯于portbuffer那样,定义这个结构,直接生成代码来用。

    【大乘】逍遥骏马 11:39:11
    有没有不用宏的

    【龙骑士】薛之谦 11:39:49
    就是这么做的优点在哪里,我没太明白。

    【SOUI作者】启程软件 11:40:02
    protobuf体积太大了。

    【SOUI作者】启程软件 11:40:17
    对于小项目没有必要。

    【龙骑士】薛之谦 11:40:54
    哦哦,这个确实

    【元婴】DUI新手 11:41:27
    没太懂 能干么用 难道就为了 格式化成二进制数据?

    【元婴】学习-刘飞 11:41:49
    启程软件  这个IPC也就是SOUI里一个小模块。
    对我知道,我的意思是SOUI这个框架也是提炼了应用程序开发的重复工作集成在框架层,同时允许应用层嵌入框架开发,应用层只需要关注自己个性化的部分开发工作。

    【分神】树先生 11:41:58
    一般跨进程通信用

    【元婴】DUI新手 11:42:09
    了解

    【SOUI作者】启程软件 11:42:12
    SOUI这个东西可以实现IPC调用和普通的函数调用用法基本一样。

    【分神】Memo 11:42:27
    protobuf不麻烦吗

    【分神】树先生 11:42:32

    【分神】Memo 11:42:34
    还得生成代码

    【分神】树先生 11:43:03
    我这种嵌套的结构体都可以解析

    【管理员】请叫我红领巾 11:43:10
    protobuf 还有一个优势就是跨语言的

    【元婴】DUI新手 11:43:37
    好吧 那我low逼了 我都还自己搞结构体传递的

    【分神】树先生 11:44:15
    肯定是protobuf没法比

    【管理员】请叫我红领巾 11:44:25
    chrome最早的那个 ipc 通用性也好

    【管理员】请叫我红领巾 11:44:39
    现在的mojo 到现在还不知道怎么用

    【元婴】DUI新手 11:44:41
    @树先生 你这个是什么库

    【管理员】请叫我红领巾 11:44:42

    【分神】树先生 11:44:47
    只能在没人用的小项目里面用用,因为没人用所以没bug

    【分神】树先生 11:44:53
    我自己写的一个
    rserialize.rar (3 KB, 下载次数: 0)

    【分神】树先生 11:45:10
    就两个文件

    【元婴】DUI新手 11:45:22
    好的 学习了~

    【元婴】DUI新手 11:45:44
    是不是 直接这样 然后用hpsocket就可以传递过去了

    【龙骑士】薛之谦 11:46:08
    ipc就用dbus吧,还有啥比较出名的?

    【分神】Memo 11:46:31
    有没有小巧的tcp库啊

    【分神】树先生 11:46:36
    是的直接转成2进制

    【分神】Memo 11:46:37
    hpsocket还是略大

    【元婴】学习-刘飞 11:46:44
    @树先生 你这个支持stl吗?

    【元婴】学习-刘飞 11:47:55
    Memo  有没有小巧的tcp库啊
    @Memo  过段时间我准备再开源一个网络框架。

    【分神】Memo 11:48:21
    head only那种最好

    【分神】Memo 11:48:50
    github 有个httplib用起来真爽。。









    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|SOUI官方论坛 ( 粤ICP备18103663号-2 )

    GMT+8, 2021-9-24 22:09

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表