其他語言
protoc,Protocol Buffers 編譯器,可以透過外掛來擴充套件以支援新語言。
當前版本包含 C++、Java、Go、Ruby、C# 和 Python 的編譯器和 API,但編譯器程式碼的設計使得新增對其他語言的支援非常容易。目前有幾個專案正在進行中,旨在為 Protocol Buffers 新增新的語言實現,包括 C、Haskell、Perl、Rust 等。
有關我們所知專案的連結列表,請參閱 第三方外掛 wiki 頁面。
編譯器外掛
protoc,Protocol Buffers 編譯器,可以透過外掛來擴充套件以支援新語言。外掛只是一個程式,它從標準輸入讀取一個 CodeGeneratorRequest 協議緩衝區,然後將一個 CodeGeneratorResponse 協議緩衝區寫入標準輸出。這些訊息型別定義在 plugin.proto 中。我們建議所有第三方程式碼生成器都作為外掛編寫,因為這樣可以讓所有生成器提供一致的介面並共享一個解析器實現。
外掛可以用任何程式語言編寫,但 Google 擁有的外掛是用 C++ 編寫的。如果您要編寫自己的外掛,您可能會發現使用 C++ 編寫外掛是最簡單的,以便能夠遵循這些示例並重用實用工具。
此外,外掛能夠將程式碼插入到其他程式碼生成器生成的檔案中。有關這方面的更多資訊,請參閱 plugin.proto 中關於“插入點”的註釋。例如,這可以用於編寫一個為特定 RPC 系統量身定製的 RPC 服務程式碼生成外掛。有關每種語言生成的程式碼的文件,請查詢它們提供的插入點。