This is getting a bit OT but is worth discussing, so I'm starting a new thread.
On Thu, Aug 4, 2011 at 2:51 PM, Greg Ewing <greg.ew...@canterbury.ac.nz> wrote: > Dag Sverre Seljebotn wrote: > >> - One idea is coercion of C pointers to ctypes Python objects and back >> again. > > Some way of requesting this manually might be useful, but > I don't think I'd like it to happen automatically. Slinging > raw pointers around in Python isn't something to be done > lightly -- even if all the code that dereferences it is > in Cython, there are problems with managing the lifetime > of whatever it references. You know, C has the same problem with slinging around raw pointers and managing their lifetimes :). Of course, with C, the user is all to painfully aware of the situation. I think this would be most useful for providing data from Python (even an interactive prompt) to a Cython module. I agree about it being dangerous to do implicitly, but something explicit like def entry_point(ctypes.CData x): cdef double* result = func(<int*>x) return <ctypes.CData>result # or cytpes.CData(result, option=...) to control deallocation could be really nice. Maybe CData could even be parameterized. - Robert _______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel