Datei in andere Datei packen?
-
hallo,
ich hab mit NSIS unter windows einige setups erstellt.
ich weiß, dass NSIS zuallererst die betreffenden dateien komprimiert.
man hat dann also ein archiv, aber wie packe ich dieses archiv in eine datei (so wie es NSIS tut)?
meine frage hat nichts mit NSIS zu tun, ich würde gerne wissen, wie man das in c macht (ein archiv in eine datei packen, und wenn diese datei ausgeführt wird, das archiv zu entpacken).ich weiß auch nicht, was ich da googeln soll und verstehe auch auf technischer basis nicht, wie sowas funktioniert.
-
Die portable Standard-C Methode (schließlich hast du hier im ANSI-C-Forum gefragt) wäre
static unsigned char data[] = { /* deine Datei als einzelne Zahlen, von Hand oder per Präprozessor eingefügt */};
Aber das willst du sicherlich nur in Ausnahmefällen tatsächlich so machen. außerdem könnte ich mir vorstellen, dass man eventuell bei sehr großen Dateien Probleme bekommt. In der Regel willst du dafür die Möglichkeiten deiner Entwicklungswerkzeuge dazu nutzen. Details sind dann stark davon abhängig, welches Format die Executable am Ende hat (was dann wiederum in der Regel systemabhängig ist) und welche Werkzeuge dir zur Verfügung stehen.
P.S.: Ein Stichwort zum googlen wäre "Resource file". Ist zwar Windowssprech, aber genug Leute haben in anderen Foren für andere Betriebssysteme bereits ihre Fragen mit diesem Begriff umschrieben, dass du auch für andere Systeme Antworten finden solltest.
-
ok, vielen dank.
was genau meinst du mit "datei als einzelne Zahlen einfügen"?
-
blablablabla schrieb:
ok, vielen dank.
was genau meinst du mit "datei als einzelne Zahlen einfügen"?
Na, den Inhalt so ausgeschrieben, dass man eine gültige Initialisierung für ein Array erhält. Du wirst schließlich Binärdaten kaum als C-String in den Quelltext schreiben können.
Also in der Art
static unsigned char data[] = {0x12, 0x34, 0x56};
-
nochmals vielen dank.
zu "resource file" liefert google leider nicht die gewünschten ergebnisse, und soweit ich mich erinnere, sind rc dateien da, um z.b. das icon der exe zu definieren.
außerdem will ich das ganz unter linux machen.
-
Inwiefern helfen dir denn nicht die ersten Treffer (und wahrscheinlich alle weiteren, ich habe nur die ersten paar angeguckt (und zwar bevor ich den Tipp gegeben habe! Für alle gängigen Systeme! Glaubst du ich hätte das Stichwort zum Scherz angegeben?)) von
Google: resource file linux
nicht weiter?(
Das kann mich echt aufregen wenn Leute nicht einmal eine einfache Googlesuche mit zwei Stichworten kombiniert hinbekommen und hinterher rumjammern!
)
-
Der Mann will von dir eine komplette Lösung, gern auch als Link mit kompletter Lösung, da er selbst nicht googeln kann, es aber glaubt zu können.
Das Problem aller Anfänger die hier aufschlagen:
wenn die Top 3 ihre (Laien)Googlesuche nicht genau das gewünschte Resultat liefern, hier aufschlagen und behaupten, im Internet stehe nichts.
Sollte aber doch wohl nichts Neues für dich sein?
-
Das ist mir schon klar. Ich versuchte bloß meine Meinung dazu mal zum Ausdruck zu bringen, dass mich das ungemein nervt.