Hallo zusammen,
ich möchte programmatisch die Reihenfolge von Feldern in einem Bitstruct optimieren (Felder werden in einer Liste, welche jeweils die Größe in Bits enthält reingegeben und werden um das berechnete Offset ergänzt). Hierbei beachte ich momentan drei Kriterien (absteigende Priorität):
- Das Struct muss so klein wie möglich sein
- Möglichst wenige Felder sollen Byte-Grenzen überlappen
- Möglichst viele Felder sollen an Byte-Grenzen aligned sind
Mein Ansatz basiert bisher auf Bruteforce, was bei wenigen Feldern auch kein Problem ist, aber ab einer gewissen Anzahl wird die Laufzeit natürlich recht hoch.
Gibt es irgendeinen Algorithmus, mit dem ich mein Vorhaben effizienter umsetzen kann?
Viele Grüße
Zacherl