Need help with C extensions
carl_bevil at yahoo.com
Sun Feb 9 22:23:45 CET 2003
Hello all. I am attempting to wrap a C library so that I can use it in
Python. I've used SWIG on the header for this file, and am able to import and
run functions from the library.
The problem is that the library makes use of pointers as arguments and as
return values. For example, a C function:
void GetValues(float* val1, float* val2)
This (hypothetical) function takes pointers to floating-point values and
modifies the data they point to.
How do I represent this in Python? I don't think it's possible to get the
address of a variable using Python, as Python has no concept of this. And
once I get the value back, how do I examine its contents?
A related question has to do with return values. For example, a function:
In Python, I'd write:
myFloat = myModule.GetFloat()
SWIG sets the return value to be a string that has an address and a type
embedded into it. Again, how do I get the floating-point value out of this?
And what if the return value is a pointer to an array of floating-point values?
More information about the Python-list