Python c-api: Pointer zurückgeben

Python in C/C++ embedden, C-Module, ctypes, Cython, SWIG, SIP etc sind hier richtig.
Antworten
Zuzu_Typ
User
Beiträge: 12
Registriert: Montag 17. Juli 2017, 22:14

Liebe Community,

ich habe in meiner Python C-Erweiterung (PyGLM = OpenGL Mathematics for Python) eine Funktion (value_ptr), die einen Pointer zurückgibt.

Dieser Pointer muss an eine Funktion einer anderen Erweiterung (z.B. glBufferData von OpenGL) weitergegeben werden können, für gewöhnlich in Form eines ctypes.c_void_p Pointers.

Ich weiß nur nicht, wie ich in C einen ctypes.c_void_p erstellen soll - denn einfach die Addresse per PyLong_FromVoidPtr() als int zu übergeben scheint nicht zu funktionieren. Muss ich jetzt ctypes importieren oder kann man vielleicht Capsules benutzen?

LG,
Zuzu_Typ
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

So ganz 100% verstanden hab ich’s noch nicht, aber capsules ist dafür gedacht, ja.
Antworten