其他語言
Protocol Buffers 編譯器
protoc
可以透過外掛程式擴充以支援新的語言。雖然目前的版本包含 C++、Java、Go、Ruby、C# 和 Python 的編譯器和 API,但編譯器程式碼的設計讓它很容易新增對其他語言的支援。目前有幾個正在進行中的專案,要將新的語言實作新增到 Protocol Buffers 中,包括 C、Haskell、Perl、Rust 等。
如需我們所知專案的連結清單,請參閱第三方附加元件維基頁面。
編譯器外掛程式
Protocol Buffers 編譯器 protoc
可以透過外掛程式擴充以支援新的語言。外掛程式只是一個程式,它從標準輸入讀取 CodeGeneratorRequest
protocol buffer,然後將 CodeGeneratorResponse
protocol buffer 寫入標準輸出。這些訊息類型定義於 plugin.proto
中。我們建議所有第三方程式碼產生器都以外掛程式的形式撰寫,因為這允許所有產生器提供一致的介面,並共用單一的剖析器實作。
外掛程式可以用任何程式設計語言撰寫,但 Google 擁有的外掛程式是用 C++ 撰寫的。如果您正在撰寫自己的外掛程式,您可能會發現使用 C++ 來撰寫外掛程式最容易,以便能夠遵循那些範例並重複使用公用程式。
此外,外掛程式能夠將程式碼插入其他程式碼產生器所產生的檔案中。有關這方面的詳細資訊,請參閱 plugin.proto
中關於「插入點」的註解。例如,這可以用來撰寫一個外掛程式,產生針對特定 RPC 系統量身訂製的 RPC 服務程式碼。請參閱每種語言的產生程式碼文件,以找出它們提供的插入點。