externe abfrage ausführen
-
Hallo,
ich möchte aus einem 'C' Programm heraus eine externe Abfrage ausführen und aufgrund des Ergebnisses weiter machen. Bsp:
main(int argc, char *argv[]) { // lese Artikeldaten aus der Datenbank -- IF ABFRAGE AUS DATEI argv[1] -- true printf... // nächster Datensatz }
Das Programm soll compiliert werden.
Inhalt von Datei 'artikel.search (argv[1])'
'if(artikel.nummer == 4711)'
oder
'if(artikel.nummer == 4711 && artikel.lager == 12)'
oder
'if(artikel.lager == 12 && (artikel.nummer == 4711 || artikel.nummer == 9315))'
...
Der Aufruf des Programms wäre dann z.B. 'programm artikel.search'
Wie kann man so etwas realisieren?
Dieter
-
Du willst also dynamisch den Quelltext ändern - da brauchst du so
was wie einen Vorübersetzer, wie das bei sql, cics, db2 und oracle
üblich ist.
Der liest deinen Quelltext, holt sich die Daten aus der Datei und
ändert ihn entsprechend ab - anschließend muß dann der Compiler
aufgerufen werden um das wirkliche ausführbare Programm zu erstellen.Ob das ganze hier Sinn macht, steht auf einer anderen Koppel
Ich bin Weidechef - ich darf das
-
Das wäre zu einfach.
Das compilierte Programm sollte nicht geändert oder neu compiliert werden.
Irgend eine andere Idee??
Dieter
-
Du musst ja nicht das Programm selbst neu kompilieren, sondern kannst auch von deinem Programm aus ein Hilfsprogramm kompilieren und ausführen, oder eine Bibliothek kompilieren und dynamisch linken.
Wenn du nichts kompilieren willst, bleibt nur die Möglichkeit, die Abfrage selber zu parsen.