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.


Anmelden zum Antworten