python in c



  • hallo,
    ich möchte python als modul/bibilotheck von c nutzen.
    d.h. in python ein paar funktionen schreiben und die dann mithilfe eines c programmes aufrufen. ich habe gehöhrt gelesen das das funzt nur wie?
    kleines beispiel wäre schön

    schonmal danke



  • Mit Python müsstest du eine Dll-Datei erzeugen. Jetzt kannst du in C die Dll laden und aus ihr Funktionen aufrufen.
    Komfortabler ist es aber, wenn Python gleich ne passende lib-Datei dazu erstellt.

    a) ohne Lib:
    Dll mit LoadLibrary laden. Mit GetProcAddress die Funktionsaddresse aus der Dll raussuchen. Den Rückgabewert in eine Functor (Function-Pointer) deiner Wahl casten.
    z.B. hast du in der Dll eine Funktion "int DoSth( int a, string b );", dann sieht der Functor dazu so aus: "int(*DoSth)(int,char*)".

    b) mit Lib:
    Den Ort der Lib-Datei deinem Compiler bekannt machen. Funktionsdeklarationen erstellen und die Funktionen daraus einfach aufrufen. Die Dll muss im selben Verzeichnis wie die Exe sein.

    Grüße,
    Badestrand


Anmelden zum Antworten