金慶的專欄
C++博客
::
首頁
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
::
423 隨筆 :: 0 文章 :: 454 評(píng)論 :: 0 Trackbacks
公告
我的隨筆
我的評(píng)論
我參與的隨筆
留言簿
(12)
給我留言
查看公開留言
查看私人留言
隨筆分類
(502)
1. C/C++(166)
(rss)
2. 網(wǎng)游開發(fā)(108)
(rss)
3. Golang(20)
(rss)
4. Linux/Unix(30)
(rss)
5. 軟工與管理(44)
(rss)
6. Python(23)
(rss)
7. Erlang(18)
(rss)
8. Rust(16)
(rss)
9. 其它(77)
(rss)
隨筆檔案
(423)
2023年1月 (1)
2022年11月 (1)
2022年10月 (2)
2022年9月 (1)
2022年4月 (6)
2022年1月 (2)
2021年12月 (4)
2021年11月 (6)
2021年10月 (2)
2021年9月 (2)
2021年8月 (7)
2021年7月 (2)
2021年5月 (2)
2021年3月 (1)
2021年2月 (2)
2021年1月 (1)
2020年12月 (1)
2020年10月 (1)
2020年9月 (5)
2020年8月 (1)
2020年7月 (1)
2020年6月 (1)
2020年4月 (2)
2020年3月 (3)
2020年2月 (3)
2020年1月 (1)
2019年12月 (1)
2019年9月 (2)
2019年4月 (2)
2019年1月 (1)
2018年12月 (1)
2018年11月 (3)
2018年10月 (1)
2018年9月 (3)
2018年8月 (3)
2018年7月 (2)
2018年6月 (4)
2018年5月 (4)
2018年4月 (4)
2018年3月 (1)
2018年1月 (2)
2017年12月 (2)
2017年11月 (3)
2017年10月 (3)
2017年8月 (7)
2017年7月 (1)
2017年6月 (1)
2017年5月 (3)
2017年4月 (3)
2017年3月 (3)
2017年2月 (2)
2017年1月 (2)
2016年12月 (5)
2016年11月 (2)
2016年10月 (2)
2016年9月 (1)
2016年8月 (6)
2016年7月 (3)
2016年6月 (2)
2016年5月 (4)
2016年4月 (2)
2016年3月 (2)
2016年1月 (3)
2015年12月 (2)
2015年11月 (2)
2015年10月 (1)
2015年8月 (2)
2015年7月 (1)
2015年6月 (1)
2015年5月 (4)
2015年4月 (3)
2015年3月 (4)
2015年2月 (5)
2015年1月 (4)
2014年12月 (3)
2014年11月 (3)
2014年10月 (2)
2014年9月 (3)
2014年8月 (1)
2014年4月 (4)
2014年3月 (1)
2014年2月 (4)
2014年1月 (5)
2013年12月 (5)
2013年11月 (5)
2013年9月 (2)
2013年8月 (2)
2013年7月 (2)
2013年6月 (2)
2013年5月 (1)
2013年1月 (2)
2012年12月 (1)
2012年11月 (1)
2012年9月 (1)
2012年8月 (3)
2012年7月 (2)
2012年6月 (1)
2012年4月 (3)
2012年3月 (2)
2012年2月 (3)
2012年1月 (2)
2011年11月 (2)
2011年10月 (3)
2011年9月 (2)
2011年8月 (2)
2011年7月 (3)
2011年6月 (2)
2011年5月 (3)
2011年1月 (2)
2010年12月 (1)
2010年11月 (2)
2010年10月 (2)
2010年9月 (3)
2010年8月 (2)
2010年7月 (3)
2010年6月 (1)
2010年5月 (3)
2010年4月 (3)
2010年3月 (5)
2010年2月 (4)
2010年1月 (4)
2009年12月 (2)
2009年11月 (3)
2009年10月 (4)
2009年9月 (3)
2009年8月 (2)
2009年7月 (4)
2009年6月 (1)
2009年5月 (3)
2009年4月 (4)
2009年3月 (2)
2009年2月 (5)
2009年1月 (1)
2008年12月 (7)
2008年11月 (4)
2008年10月 (1)
2008年9月 (3)
2008年8月 (4)
2008年7月 (3)
2008年6月 (4)
2008年5月 (6)
2008年4月 (7)
2008年3月 (6)
2008年1月 (5)
2007年12月 (7)
2007年11月 (4)
2007年10月 (5)
2007年9月 (6)
2007年8月 (8)
2007年7月 (5)
相冊
公告照片
搜索
積分與排名
積分 - 656585
排名 - 25
最新評(píng)論
1.?re: boost::asio::spawn 將一統(tǒng)C++網(wǎng)絡(luò)庫
asio 成為C++首選網(wǎng)絡(luò)庫
--linda
2.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--金慶
3.?re: mingw編譯OrzNet
能發(fā)送一個(gè)mingw編譯好的OrzNet庫給我嗎? liuweiqcxy@163.com
謝謝!
--劉威
4.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--bigbad
5.?re: log4cxx中文輸出錯(cuò)誤補(bǔ)丁
評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--bigbad
閱讀排行榜
1.?"multiple definition of" 錯(cuò)誤(11032)
2.?SVN中邪惡的replace(10955)
3.?VS2005編譯libevent(10413)
4.?混音算法的學(xué)習(xí)與研究(10203)
5.?C調(diào)用lua腳本的效率測試(9007)
評(píng)論排行榜
1.?VC6正在被拋棄(35)
2.?VS2005編譯libevent(21)
3.?"multiple definition of" 錯(cuò)誤(18)
4.?C++引用優(yōu)于指針(17)
5.?ACE與ASIO之間關(guān)于Socket編程的比較(16)
支持 proto3 的 lua 綁定庫 LuaPbIntf
支持 proto3 的 lua 綁定庫
LuaPbIntf
(金慶的專欄 2017.4)
protobuf的lua綁定庫之前一直用 pbc,但是該庫已經(jīng)不更新了。
想要添加 proto3 的 map , 還有支持 service, 發(fā)現(xiàn)代碼太高深,無法下手。
pbc因?yàn)橛胏代碼實(shí)現(xiàn)了 protobuf 的功能,所以代碼量很大。
而對(duì)于 c++ 來說,只需要利用 protobuf 庫中動(dòng)態(tài)消息就可以實(shí)現(xiàn) lua 所需功能。
luapb 就是直接用 protobuf 庫封裝后導(dǎo)出lua實(shí)現(xiàn)的。該庫僅支持 proto2.
在 luapb 基礎(chǔ)上實(shí)現(xiàn)對(duì) proto3 的支持,就是
LuaPbIntf
庫。
LuaPbIntf 庫利用了 lua-intf 庫來實(shí)現(xiàn) c++ 與 lua 綁定,所以代碼量比 luapb 又少了許多,
并且可讀性大大增強(qiáng),更改添加新功能也就更方便了。
與 pbc, lubpb 一樣,LuaPbIntf 也是動(dòng)態(tài)加載 proto 文件,不需要代碼生成。
LuaPbIntf 采用 lua table 來表示 pb 消息,不是 pbc 中的代理表,而只是普通表。
項(xiàng)目地址:
https://github.com/jinq0123/LuaPbIntf
示例:
local pb = require("luapbintf")
pb.import_proto_file("test.proto")
local msg = { uid = 12345 }
local sz = pb.encode("test.TestMsg", msg)
local msg2 = pb.decode("test.TestMsg", sz)
assert(msg2.uid == 12345)
proto3 map 示例:
local msgs = {}
msgs["k1"] = {}
msgs["k2"] = {}
pb.encode("test.TestMsg", { msgs = msgs })
rpc service 支持:
assert(pb.get_rpc_input_name("test.Test", "Foo") == "test.TestMsg")
assert(pb.get_rpc_output_name("test.Test", "Foo") == "test.CommonMsg")
posted on 2017-04-25 11:43
金慶
閱讀(804)
評(píng)論(0)
編輯
收藏
引用
所屬分類:
1. C/C++
只有注冊用戶
登錄
后才能發(fā)表評(píng)論。
【推薦】100%開源!大型工業(yè)跨平臺(tái)軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
How are dtLinks created in NavMesh
C++ parameter passing rules
Naming Conventions for Accessors
Visual Studio 2019 Compiler Hangs
Fbx File Format Identifier
查找內(nèi)存錯(cuò)誤
std::thread 中的異常會(huì)丟失調(diào)用棧
用賦值代替 protobuf CopyFrom()
vs2017 linux 編譯輸出改成 vs 格式
為 LiteIDE 添加選中標(biāo)記
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 金慶
国产精品亚洲美女久久久
|
少妇人妻88久久中文字幕
|
久久青青草原精品国产
|
久久久久99精品成人片欧美
|
久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口
|
99久久综合国产精品二区
|
精品久久久久久久中文字幕
|
久久久亚洲精品蜜桃臀
|
久久久一本精品99久久精品88
|
久久人人爽人人爽人人片AV不
|
久久久久久国产精品免费无码
|
久久青草国产精品一区
|
亚洲国产天堂久久久久久
|
国产91久久精品一区二区
|
精品久久久无码中文字幕
|
97精品国产97久久久久久免费
|
久久精品成人免费国产片小草
|
久久无码AV一区二区三区
|
欧美噜噜久久久XXX
|
久久se精品一区精品二区国产
|
中文字幕日本人妻久久久免费
|
国产成人精品久久亚洲高清不卡
|
午夜精品久久久久久影视riav
|
www.久久精品
|
午夜精品久久久久久99热
|
久久久精品久久久久久
|
97久久香蕉国产线看观看
|
久久精品人人做人人爽电影
|
久久久久久免费视频
|
777久久精品一区二区三区无码
|
色综合久久综合中文综合网
|
久久精品嫩草影院
|
五月丁香综合激情六月久久
|
国产欧美久久久精品影院
|
久久久久亚洲?V成人无码
|
99久久精品日本一区二区免费
|
亚洲av成人无码久久精品
|
亚洲伊人久久大香线蕉综合图片
|
久久成人小视频
|
亚洲午夜福利精品久久
|
久久久久国色AV免费观看
|