Seite 1 von 1

C++ Klasse in Python

Verfasst: Donnerstag 17. Juli 2003, 09:25
von OdinsKrieger
Hi!
Ich habe folgendes Problem. Ich muß einige C++ Klassen in Python einbauen. Soweit so gut. Hat auch einigermaßen gut geklappt, aber ich habe immer nur Module, keine Typen, d.h. ich kann keine Instanzen meiner Objekte erstellen. Weiß jemand vielleicht nen Link zu nem Artikel oder kann mir direkt weiterhelfen wäre super.
Ich mache es im Moment so: ( nur kurze Zusammenfassung )

Code: Alles auswählen


struct MeinObject {
    PyObject_HEAD
   meine Daten
}

// new, init, dealloc, ... Funktionen 

// Methoden( durch Wrapper Zugriff auf die Methoden der C++ Klassen )

PyMethodDef
{{"Func",Func,METH_NOARGS, NULL}, ... }

PyObjectType MeinType
{
....
}


void Init()
{
    Py_InitModule("MeinObjekt", &Meintype);
}

Ich vermute, das ich eine andere Init Funktion aufrufen muß, um einen Typ anstatt eines Moduls zu erhalten,habe aber in der Docu nixfinden können. Bin für jeden Tip dankbar.

Schöne Grüße[/code]

Re: C++ Klasse in Python

Verfasst: Donnerstag 17. Juli 2003, 11:00
von joerg
OdinsKrieger hat geschrieben:Weiß jemand vielleicht nen Link zu nem Artikel oder kann mir direkt weiterhelfen wäre super.
So ganz habe ich dein Problem nicht verstanden. Hast DU denn die Python-Doku zu 'Extending und Embedding' schon durch? Da steht eigentlich alles drin.

Außerdem solltest Du mal den Sourcecode des Python-Interpreters nach Dateinamen durchsuchen, die mit 'xx' anfangen. Das sind u.a. Beispielfiles für Module, die auch eigene Typen definieren.

Jörg