2009-09-06 6 views

Antwort

14

Ich weiß nicht, ob dies eine Option, aber die Unix (und wahrscheinlich leicht verfügbare Windows) Programm xxd eine Option zur Ausgabe eines C-Header hat:

xxd -i file.bin > file.h 

file.h enthält die Definition von Ein Array von unsigned char enthält die Daten und eine unsigned int, die Ihnen die Länge des Arrays angibt. Natürlich kann es zu file.c ausgeben besser sein und dann file.h schreiben wie:

extern unsigned char file[]; 
extern unsigned int file_len; 

Die Namen der Variablen auf der Eingabedatei ab. Hoffe das hilft.

+1

Heh. Google Desktop Meine Festplatte gesucht und ich habe bereits xxd! Kam mit Vim. Vielen Dank! – Nosredna

+0

Die Ressourcen-Antwort von Vinay Sajip ist näher an dem, wonach ich gefragt habe, aber xxd zu verwenden ist so einfach, dass ich beschloss, den benutzerdefinierten Code, den ich geschrieben hatte, zu verwenden und stattdessen zu verwenden. Wenn meine Dateien größer wären, könnte ich die binären Ressourcen wählen. – Nosredna

2

Das letzte Mal, als ich dies tun musste (vor einiger Zeit), benutzte ich binäre Ressourcen. Hier ist eine article, die den Ansatz beschreibt. Ich bin mir nicht sicher, ob es etwas neueres gibt, was es aber besser macht.

+0

Dies ist vielversprechend. Vielen Dank. – Nosredna

Verwandte Themen