Windows系统下使用protobuf:protobuf的简介、安装、使用方法之详细攻略
Windows系統下使用protobuf:protobuf的簡介、安裝、使用方法之詳細攻略
?
?
?
目錄
protobuf的簡介
protobuf的安裝
protobuf的使用方法
?
?
protobuf的簡介
? ? ?Protocol buffers是用于序列化結構化數據的靈活、高效、自動化的機制——比如XML,但是更小、更快、更簡單。您只需定義一下希望如何對數據進行結構化,然后就可以使用特殊生成的源代碼來輕松地編寫和讀取到各種數據流中的結構化數據,并使用各種語言。你甚至可以更新你的數據結構,而不必破壞那些被編譯為“舊”格式的程序。? ?
?? ?Google protobuf是一個靈活的、高效的用于序列化數據的協議。相比較XML和JSON格式,protobuf更小、更快、更便捷。protobuf也叫protocol buffer是google 的一種數據交換的格式,它獨立于語言,獨立于平臺。Google protobuf是跨語言的,并且自帶了一個編譯器(protoc),只需要用它進行編譯,可以編譯成Java、python、C++、C#、Go等代碼,然后就可以直接使用,不需要再寫其他代碼,自帶有解析的代碼。
? ? ?Google 提供了多種語言的實現:Java、c#、c++、Go 和 Python,每一種實現都包含了相應語言的編譯器以及庫文件。由于它是一種二進制的格式,比使用 xml 、json進行數據交換快許多。可以把它用于分布式應用之間的數據通信或者異構環境下的數據交換。作為一種效率和兼容性都很優秀的二進制數據傳輸格式,可以用于諸如網絡傳輸、配置文件、數據存儲等諸多領域。
1、.proto文件是protobuf一個重要的文件,它定義了需要序列化數據的結構。使用protobuf的3個步驟是:
第一步,在.proto文件中定義消息格式
第二步,用protobuf編譯器編譯.proto文件
第三步,用C++/Java等對應的protobuf API來寫或者讀消息
官方文檔:https://developers.google.com/protocol-buffers/docs/overview
?
protobuf的安裝
protoc的源碼和各個系統的預編譯包:https://github.com/protocolbuffers/protobuf/releases
1、選擇對應的安裝文件下載
2、添加到環境變量中
安裝完成!
?
protobuf的使用方法
1、基本用法
protoc --version #查看protoc的版本2、代碼轉換顯例
切換到要使用的proto文件路徑下,并打開cmd窗口執行以下命令
protoc -I=源地址 --java_out=目標地址 ?源地址/xxx.proto? ? ? ?此處生成時會以 proto 里面注明的java_package為路徑完整生成,所以目標地址不必包含java_package及之后的路徑,比如:option java_package = "com.test.protocol";,那么就會生成com/test/protocol/XXX.java
參數說明
- -I:主要用于指定待編譯的 .proto 消息定義文件所在的目錄,即可能出現的包含文件的路徑,該選項可以被同時指定多個。此處指定的路徑不能為空,如果是當前目錄,直接使用.,如果是子目錄,直接使用子目錄相對徑,如:foo/bar/baz,如果要編譯的文件指定的文件路徑為baz/test.proto,那么應這么寫-I=foo/bar,而不要一直寫到baz。
比如執行命令:
protoc -I=. --java_out=../../../../ beans/*.proto apis/*.proto *.proto?
?
?
總結
以上是生活随笔為你收集整理的Windows系统下使用protobuf:protobuf的简介、安装、使用方法之详细攻略的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DL之SPP-Net:SPP-Net算法
- 下一篇: 成功解决object_detection