2010-11-12 50 views
2

我正在尋找關於將數據序列化到文件時很重要的事情的簡短概述。存在哪些技術來處理數據結構的後續更改?是否有某些常用的標題結構?用於創建文件格式和使用C++序列化的介紹性材料

專門針對C++:哪些庫適用於這些任務? Boost.Serialization?

編輯:如果可能,請提供一個包含一些答案的鏈接!

感謝您的任何提示,

菲利普

回答

2

第一部分是格式的選擇:

  • 是它的內部/外部文件?
  • 它只是用作臨時存儲,還是需要編輯/處理?
  • 有沒有速度或存儲空間的問題?

一旦你的格式,你需要考慮的事情,比如版本:

  • 是向後兼容只OK,或者你需要向前兼容?
  • 你需要這個嗎?

然後你可以想想庫:

  • 各種XML庫
  • Boost.Serialization
  • S11N
+0

嗚!這確實是一個很好的問題列表。我會建議其他一些庫:用於替換Xml的Json庫(手動編輯更容易,xml實體更易於使用)和Google協議緩衝區(因爲能夠使用Python腳本查看內容非常好)。特別是對於長期存儲,我絕對更喜歡Google協議緩衝區:如果突然更改業務模型,則會丟失one-one映射對象blob,protobuf會從頭開始強調這一點,因爲您需要一層適配器才能通過。 – 2010-11-12 13:10:04

+0

我已閱讀s11n(http://s11n.net)的非常有趣的描述,它確實非常好。爲了完整性,我只希望有一個json序列化程序。它似乎重量輕,但有一個夢幻般的功能列表。我唯一需要考慮的兩個問題是延遲加載,但這隻涉及大文件,當然還包括困擾所有序列化框架的映射對象serializedblob(但這就是序列化的意義)。確實非常感興趣,謝謝! – 2010-11-12 16:51:36

+0

關於s11n特別注意:深度序列化和週期處理。這非常棒。 – 2010-11-12 16:59:19