看板 C_and_CPP 關於我們 聯絡資訊
請教各位 之前寫簡單程式 把object整包寫到file 如下 http://nopaste.csie.org/00dc1 現在想一想 我遮掉那行 在我平台上 印32... 雖然我不知道 這32是怎麼出來 跟什麼因素有關(平台? VC? 還是 什麼) 但只要把這code的下半部讀檔部分 到別的平台執行 他的sizeof(Foo)很可能不是32 那不就會讀錯嗎?? 而且.....就算他是32 他class的記憶體配置 也不一定是按照int a; int b;.....順序 有可能會無法對齊..... 所以是不是不建議把整個object直接寫下去呢?(會塞一堆不知道是什麼補足32). 但是想一想 就算一個一個member 寫 sizeof(double)也有可能在不同平台或是compiler 也不一定是8.....也可能讀錯阿? 最後結論是 要跨平台是不是要變成寫 text file才比較穩阿?? 請各位指點迷津 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.64.222
james732:或許可以用boost::serialization? (雖然我沒用過) 12/02 17:38
QQ29:我現在碰到C# 是不是也有類似serailize什麼鬼的語法阿? 12/02 17:43
QQ29:寫struct近bin? 12/02 17:43
james732:C#確實有,它做的事就類似你這篇文章想做的 12/02 17:44
loveme00835:還是用 XML 比較好喔~ 12/02 18:29
goodGG:選擇一: binary serialization 12/02 20:10
goodGG:選擇二: text serialization. eg: XML / JSON 12/02 20:10
goodGG:各有優缺點 12/02 20:11
QQ29:g大請問binary serialization是一個方法還是規範阿 12/02 23:07
james732:建議拿serialization這個字去google查一下它的意義... 12/02 23:12
loveme00835:「C# ISerializable」 12/02 23:13