mittels C eine Perl-lib aufrufen
-
Hallo,
ich habe eine eigene lib-Perl-Datei die ich von einigen Perlprogrammen mit require einbinde und dann die Funktionen aufrufe. (erfolgreich ;))
Ich möchte nun eine Funktion in einem C-Programm aufrufen.
so in der Art "system(perl file.funktion(parameter))geht so etwas überhaupt, wenn ja dann wie ???
Danke
worst_case
-
-
Hallo,
danke für die schnelle Antwort.
Ich habe nun eine andere Möglichkeit gefunden die auch auf der Konsole läuft
Ich denke das ist die einfachere (man sieht nachfolgend :D) Methode für mich.log = Name der lib
writelog = Funktion in der libperl -Mlog -e '$log{writelog("Hallo das ist ein Text\n")}'
das funktionier auch soweit.
Wie bringe ich es aber dazu mit dem Systembefehl zu laufen.system("perl -Mlog -e '$log{writelog("Hallo das ist ein Text\n")}'");
funktioniert nicht.
Ich habe hier die Schwierigkeiten die einzelnen String/Befehl sauber auseinander zu halten.Danke
worst_case
-
Hallo,
ich habe es jetzt mit einem String hinbekommen.
War ja klarsystem("perl -Mlog -e '$log{writelog(Hallo das ist ein Text\n)}'");
Jedoch wie sieht es mit einer Variable aus
void message (char* txt) { system("perl -Mlog -e '$log{writelog(txt)}'"); return; }
Wie wird diese Zeile geschrieben.
Danke
worst_case
-
Wenn du eine Variable übergeben willst, musst du vorher den string zusammen setzen (siehe zB man: sprintf) und dann system übergeben. Aber system bringt so seine Nachteile mit sich (siehe C++ FAQ)