Binärdaten aus Datei zur Compilezeit in Arraykonstante speichern
-
Gibt es eine Möglichkeit in C, Binärdaten in ein Array zu inkludieren?
Sowas hier:
const unsigned char data[] = incbin("Data.bin");
Also quasi das gleiche, das es in 6502 Assembler als
.incbin "Data.bin"
gibt.Ich weiß, ich könnte ein Tool schreiben, das eine Binärdatei in Code umwandelt:
const unsigned char data[] = { 0x11, 0x22, 0x33 };
Aber ich wollte erstmal sehen, ob es eine native Funktion in C für sowas gibt.
-
Nein.
-
C selber sieht das nicht vor.
Es gibt Tools, die ein Datei als char-Array erzeugen.
Der Linker kann die Datei aber meist auch mit einbinden.
Es geht auch über sog. Resourcen.
Die beiden letzten sind System-/Compilerabhängig.
-
Das wäre auch eher ein Feature für eine IDE und nicht der Sprache C.
Funktionieren sollte:
`- Notepad++
-
HEX-Editor Plugin installieren
-
Datei laden
-
"View in Hex"
-
Copy+Paste in C-Editor
-
dort dann Replace "Space" mit ",0x"`
-
-
Der nicht Standard-C Weg:
http://csl.sublevel3.org/post/embedding-binary-data/