Text in ausfuehrbare Datei kompilieren



  • Hi.

    Ich moechte ein Programm bauen, das mir eine bestimmte (lange) Textdatei erzeugt. Diese Textdatei habe ich zur Compilezeit vorliegen. Zur Laufzeit moechte ich sie aber nicht explizit einlesen. Deshalb soll die Datei irgendwie in das ausfuehrbare Programm reinkompiliert werden und ich moechte sie auch innerhalb des Codes nutzen koennen.

    Wie macht man so etwas?



  • Du könntest beispielsweise xxd verwenden.

    xxd -i deine_textdatei.txt
    

    Das erzeugt dir Quelltext für eine Variable mit dem Inhalt der Textdatei. Ob du das so verwenden solltest, ist eine andere Frage. Sicher nur bei kleinen Dateien.



  • Das ist auf jeden Fall schonmal eine Moeglichkeit. Danke. Die Datei ist 32kB gross. Sollte das zu Problemen fuehren?


  • Mod

    Windows: Resources

    Mac: Da nennt man das glaube ich "Bundles".

    Linux: Mir fällt kein spezieller Begriff ein. Man sollte fündig werden, wenn man nach einem Äquivalent der Windows-Resources sucht. Zum Beispiel hier.

    Plattformunabhängig: Theoretisch könntest du bestimmt etwas mittels #include zurecht frickeln. Gibt aber Probleme, falls Sonderzeichen vorkommen oder falls "lang" wirklich "lang" ist.



  • wob schrieb:

    Du könntest beispielsweise xxd verwenden.

    xxd -i deine_textdatei.txt
    

    Das erzeugt dir Quelltext für eine Variable mit dem Inhalt der Textdatei. Ob du das so verwenden solltest, ist eine andere Frage. Sicher nur bei kleinen Dateien.

    Ist jetzt getestet. Scheint super zu funktionieren! 😋



  • SeppJ schrieb:

    Windows: Resources

    Mac: Da nennt man das glaube ich "Bundles".

    Linux: Mir fällt kein spezieller Begriff ein. Man sollte fündig werden, wenn man nach einem Äquivalent der Windows-Resources sucht. Zum Beispiel hier.

    Plattformunabhängig: Theoretisch könntest du bestimmt etwas mittels #include zurecht frickeln. Gibt aber Probleme, falls Sonderzeichen vorkommen oder falls "lang" wirklich "lang" ist.

    @SeppJ: Danke fuer die Ideen. Es ist eine reine Linux-Sache, haette ich wohl dazu schreiben muessen. Die Loesung von wob ist aber schon genau das, was ich suche.


Log in to reply