2 Stimmen

Kompilieren einer statischen Datei in eine ausführbare Datei

Angenommen, ich habe ein Programm, das eine Datenbankdatei erstellt und Daten aus einer .sql Datei.

Wenn ich nicht will, dass eine zufällige .sql Gibt es eine Möglichkeit, diese statische Datei zur Verwendung in die ausführbare Datei zu kompilieren, ohne ihren Inhalt in eine Zeichenfolge in einer C-Datei kopieren zu müssen? Eine define-Anweisung vielleicht?

4voto

pmg Punkte 102904

Utilice xxd

$ xxd -i data.sql > data.sql.c

dann einschließen ( oder kopieren/einfügen ) die resultierende c-Datei (kein Header)

Sie können für globale ...

#include <stdlib.h>
#include "data.sql.c" /* global scope */

... oder Funktionsumfang

int foo(void) {
#    include "data.sql.c" /* function scope */
}

2voto

arx Punkte 16348

Suchen Sie ein Dienstprogramm, das eine beliebige Binärdatei in eine Objektdatei konvertiert (z. B. bin2obj unter Linux). Dann können Sie die Daten einfach in Ihre Exe-Datei einbinden, ohne sie in C-Quellcode umwandeln zu müssen.

0voto

Some programmer dude Punkte 377919

Sie können die Anweisungen in der SQL-Datei in einen Satz (ein Array) von Strings umwandeln, die Strings in eine Quelldatei einfügen und Ihre Anwendung damit erstellen. verwenden #define um Namen für die Indizes im Array zu erstellen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X