簡體   English   中英

在C ++中使用protobuf和POCO

[英]Working with protobuf and POCOs in C++

我想將protobuf與我正在研究的C ++項目一起使用。 但是,我不喜歡使用protoc創建的自動生成的類,並且更喜歡堅持我已經擁有的POCO。 這是因為POCO已經在代碼的其他部分中使用,我希望以后能夠輕松切換序列化機制。 但是在POCO和protobuf消息類之間手動編寫轉換器似乎很乏味和錯誤。

我想知道是否有一種方法可以使用protobuf來創建一個序列化程序 - 一個自動生成的類,它能夠序列化和反序列化我的POCO,而不會讓我厭煩內部。

謝謝。

首先,你可能更喜歡Cap'n Proto ,它是由Google之前的Google Protocol Buffer維護者創建的。 值得關注的是,無論如何。

但除此之外,您真的需要考慮為什么要使用Google Protocol Buffers。

如果要實現向前和向后兼容,並且能夠打開,然后編輯,然后使用不同版本的協議緩沖區聲明保存可能創建不同人員的對象,然后發送給另一個人使用甚至不同版本的聲明......然后你需要咬緊牙關並使用Google協議緩沖編譯器生成的C ++。

它實際上不僅僅是一種序列化格式。 它經過專門設計,可以隨着時間的推移輕松實現不同版本的序列化。

如果您不需要這種靈活性,並且不喜歡生成的代碼,則可能需要考慮使用其他序列化工具。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM