Kompakte Array-Initialisierung in C

Gast #4913100
Lesenswert?

Moin,
ich glaube es gibt keinen besseren Trick, größere Byte-Array-Records mit 
numerischen (Hex-)Konstanten aus dem C-Code zu initialisieren, als diese 
aufgeblähte unübersichtliche Standard-Schreibweise oder?

{0x0C,{0x01,0x72,0xAC,0x00},{0x88,0x88,0x48,0x88,0x48,0x08}}

Gewünscht wäre diese Richtung:
0C:0172AC00:888848884808
Gast #4913112
Lesenswert?

batman schrieb:

> ich glaube es gibt keinen besseren Trick, größere Byte-Array-Records mit
> numerischen (Hex-)Konstanten aus dem C-Code zu initialisieren, als diese
> aufgeblähte unübersichtliche Standard-Schreibweise oder?

Zum einen muß man natürlich aufpassen, daß die Endianess des Hostsystems 
da keinen Einfluß bekommt. Zum anderen geht es aber ja auch nicht um 
numerische Dinge, sondern um Textsubsitution. Könnte man nicht den 
Präprozessor dafür einspannen, aus der Komfortnotation mit ein paar 
Makros die Standard-Initialisierung zu machen?

Alternativ könnte man natürlich auch in die Buildchain ein Tool 
einbauen, was derlei Strings aus einem Textfile oder so liest und daraus 
dann ein C-File mit den Variablen in C-Notation autogeneriert. Das müßte 
man dann bloß noch im gewünschten Quelltextfile includieren.

Sowas in der Art habe ich im Einsatz für den Include von Binärdateien, 
die vorher erst parametriert auf dem Host erzeugt werden.
Gast #4913153
Lesenswert?

Ja, automatisiert in eine (aufgeblähte) Include-Datei übersetzen ist 
eine Möglichkeit.
Würde mich natürlich auch interessieren, ob man da mit reiner 
Makro-Strickerei ohne Extra-Dateien was machen kann. Ich bin da leider 
nicht so begabt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren