Objekt in Byte-Array in C ++ serialisieren
Ich arbeite an einem eingebetteten Gerät (Mikrocontroller) und möchte Objekte dauerhaft speichern (EEPROM). Die meisten Serialisierungslösungen, die ich finden kann, verwenden das Dateisystem auf irgendeine Weise, aber mein Ziel hat kein Dateisystem.
Daher ist meine Frage, wie ich ein Objekt in ein Byte-Array serialisieren kann, damit ich dieses Byte-Array anschließend in einem EEPROM speichern kann.
Hier ist ein Beispiel für das, was ich versuche zu tun:
class Person{
//Constructor, getters and setters are omitted
void save(){
char buffer[sizeof(Person)];
serialize(buffer);
EEPROM::Save(buffer, sizeof(Person));
}
void load(){
char buffer[sizeof(Person)];
EEPROM::Load(buffer, sizeof(Person));
deserialize(buffer);
}
void serialize(char* result){
//?????
}
Person deserialize(char* buffer){
//??????
}
private:
char* name;
int age;
float weight;
};