Generating Your Classes - 生成類
要生成Java、Python、C++、Go、Ruby、ObjuleC或C代碼,需要使用.proto檔案中定義的訊息型別,還需要在.proto上運行協議緩沖區編譯器protoc,如果尚未安裝編譯器,請下載該軟體包并按照自述檔案中的說明進行操作,對于Go,您還需要為編譯器安裝一個特殊的代碼生成器插件:您可以在GitHub上的golang/protobuf存盤庫中找到這個插件和安裝說明,
協議編譯器的呼叫方式如下:
protoc --proto_path=IMPORT_PATH --cpp_out=DST_DIR --java_out=DST_DIR --python_out=DST_DIR --go_out=DST_DIR --ruby_out=DST_DIR --objc_out=DST_DIR --csharp_out=DST_DIR path/to/file.proto
-
IMPORT_PATH:指定決議
import指令時要在其中查找.proto檔案的目錄,如果省略,則使用當前目錄,通過多次傳遞-proto_path選項可以指定多個匯入目錄;它們將按順序進行搜索,-I=_IMPORT_PATH_可以用作--proto_PATH的縮寫形式, -
可以提供一個或多個輸出指令:
——cpp_out在DST_DIR中生成C++代碼,更多資訊請參見C++生成代碼參考,——java_out在DST_DIR中生成Java代碼,有關更多資訊,請參閱Java生成代碼參考,——python_out在DST_DIR中生成Python代碼,更多資訊請參見Python生成代碼參考,——go_out在DST_DIR中生成Go代碼,更多資訊請參見Go生成代碼參考,——ruby_out在DST_DIR中生成Ruby代碼,更多資訊請參見Ruby生成代碼參考,——objc_out在DST_DIR中生成Objective-C代碼,更多資訊請參見Objective-C生成代碼參考,——csharp_out在DST_DIR中生成c#代碼,更多資訊請參見C#生成代碼參考,——php_out在DST_DIR中生成PHP代碼,有關更多資訊,請參閱PHP生成代碼參考,為了方便起見,如果DST_DIR以.zip或.jar結尾,編譯器會將輸出寫入一個給定名稱的zip格式存檔檔案,注意,如果輸出存檔已經存在,它將被覆寫;編譯器不夠智能,無法向現有存檔添加檔案,
-
必須提供一個或多個
.proto檔案作為輸入,可以一次指定多個.proto檔案,盡管這些檔案是相對于當前目錄命名的,但每個檔案都必須駐留在IMPORT_PATH匯入的其中一個路徑中,以便編譯器可以確定其規范名稱,
結語:至此,【Language Guide (proto3) | proto3 語言指南】系列隨筆全部完成,如果您對系列文章有任何疑問或者意見,歡迎留言討論!非常希望本系列隨筆能為您提供一些幫助,
作者:Theo·Chan原文:https://www.cnblogs.com/itheo/p/14273579.html
著作權:本文著作權歸作者和博客園共有
轉載:歡迎轉載,但未經作者同意,必須保留此段宣告;必須在文章中給出原文連接;否則必究法律責任
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/251481.html
標籤:其他
上一篇:多視圖子空間聚類/表示學習(Multi-view Subspace Clustering/Representation Learning)
