其他語言

protoc,Protocol Buffers 編譯器,可以透過外掛程式擴充以支援新的語言。

雖然目前的版本包含 C++、Java、Go、Ruby、C# 和 Python 的編譯器和 API,但編譯器程式碼的設計使其易於新增對其他語言的支援。目前有幾個正在進行的專案,旨在將新的語言實作新增至 Protocol Buffers,包括 C、Haskell、Perl、Rust 等。

如需我們所知專案的連結清單,請參閱第三方附加元件 Wiki 頁面

編譯器外掛程式

protoc,Protocol Buffers 編譯器,可以透過外掛程式擴充以支援新的語言。外掛程式只是一個程式,它從標準輸入讀取 CodeGeneratorRequest Protocol Buffer,然後將 CodeGeneratorResponse Protocol Buffer 寫入標準輸出。這些訊息類型定義於 plugin.proto 中。我們建議所有第三方程式碼產生器都應編寫為外掛程式,因為這樣可以讓所有產生器提供一致的介面並共用單一剖析器實作。

外掛程式可以使用任何程式語言編寫,但 Google 擁有的外掛程式是以 C++ 編寫的。如果您要編寫自己的外掛程式,您可能會發現使用 C++ 外掛程式最容易,以便能夠遵循這些範例並重複使用公用程式。

此外,外掛程式能夠將程式碼插入到其他程式碼產生器產生的檔案中。有關此內容的更多資訊,請參閱 plugin.proto 中關於「插入點」的註解。例如,這可以用於編寫一個外掛程式,該外掛程式產生針對特定 RPC 系統量身定制的 RPC 服務程式碼。請參閱每種語言的產生程式碼文件,以了解它們提供的插入點。