Cara Mensiri Objek dalam C : Panduan Komprehensif
Dalam bidang pertukaran data, keupayaan untuk mensiri objek adalah penting. Serialisasi menukar objek kepada tatasusunan bait, membolehkan penghantaran yang cekap melalui rangkaian atau storan dalam fail. C , sebagai bahasa yang serba boleh, menawarkan pelbagai penyelesaian untuk pensirilan objek.
Satu pendekatan popular ialah Pustaka Pensirian Boost. Boost menyediakan set lengkap alatan untuk mensiri kedua-dua objek ringkas dan kompleks. Untuk mensirikan objek menggunakan Boost, seseorang boleh mengikuti langkah berikut:
#include <boost/archive/binary_oarchive.hpp> #include <fstream> std::ofstream ofs("filename.dat", std::ios::binary); boost::archive::binary_oarchive oa(ofs); oa << myObject;
#include <boost/archive/binary_iarchive.hpp> std::ifstream ifs("filename.dat", std::ios::binary); boost::archive::binary_iarchive ia(ifs); ia >> myDeserializedObject;
Pilihan lain ialah menggunakan pustaka Cereal, rangka kerja C moden untuk siri data yang pantas dan cekap. Bijirin memanfaatkan templat C dan pengaturcaraan meta untuk menyediakan kedua-dua keupayaan bersiri binari dan JSON. Untuk menggunakan Bijirin, hanya masukkan fail pengepala yang sesuai dan tentukan kaedah penyirian untuk kelas anda:
#include <cereal/archives/binary.hpp> #include <cereal/archives/json.hpp> class MyObject { public: template <class Archive> void serialize(Archive &ar) { ar &m_value1; ar &m_value2; } private: int m_value1; std::string m_value2; };
Dengan Bijirin, penyiaran adalah mudah:
// Binary serialization { std::ofstream os("filename.bin", std::ios::binary); cereal::BinaryOutputArchive archive(os); archive(myObject); } // JSON serialization { std::ofstream os("filename.json"); cereal::JSONOutputArchive archive(os); archive(myObject); }
Ringkasnya, C menyediakan berbilang perpustakaan berkuasa untuk penyirian objek. Perpustakaan Boost Serialisasi dan Bijirin adalah dua pilihan yang menonjol, masing-masing menawarkan kekuatannya sendiri. Sama ada berurusan dengan objek mudah atau kompleks, perpustakaan ini memperkasakan pembangun untuk menukar objek dengan cekap kepada tatasusunan bait untuk penghantaran dan penyimpanan.
Atas ialah kandungan terperinci Bagaimana untuk Mensiri Objek dengan Berkesan dalam C Menggunakan Boost dan Bijirin?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!