2010-09-08 71 views
11

谷歌官方提供了谷歌協議緩衝區的C++實現, ,但我正在尋找一個C實現。有沒有一個很好的C實現谷歌協議緩衝區

我不會自己使用它,但我希望我可以使用此工具爲我們的Google協議緩衝區定義生成 C代碼,然後交給C開發人員。

我不在尋找任何RPC功能,只需編碼和解碼Google Protocol Buffer消息。

回答

8

使用protobuf-c(現在在Github上爲protobuf-c)。

從他們的官方網站:

這個包提供一個代碼生成和運行時庫使用 協議緩衝器從純C(不是C++)。

它使用名爲protoc-cprotoc的修改版本。

+0

但是從我讀過的內容來看,他們只關注消息的編碼和解碼以外的東西 – TimothyP 2010-09-08 22:15:18

8

還有Nanopb這是更輕的。

例如,它不會在代碼中存儲消息和字段名稱,所以內省(按名稱搜索字段)是不可能的。