Need help with C extension module
chris
chris.stromberger at gmail.com
Wed Sep 7 18:24:37 EDT 2005
This is my first attempt at undertaking a C extension module. I want
to wrap an existing C library so I can call the functions from Python.
There are only two functions I'm interested in calling. I did mess
with Pyrex a bit and Swig, to no avail, so I turned to doing it by
hand. Using the example in Programming Python, I did get the easier of
the two functions working--only takes a string parameter. I'm stuck
now on the other function and not sure how to wrap it, because it
involves some structs. Here's a simplified version of the C:
struct In
{
int x;
char* s;
... (only primitive data types)
};
struct Out
{
int y;
char* s;
... (only primitive data types)
};
Out* func(In* x, Out* y);
So the function takes pointers to the two structs, and fills out the
output struct and also returns the pointer to it. I would envision the
Python looking like
in = In()
in.y = 1
in.s = "abc"
...
out = func(in)
maybe? Just no idea how to deal with the structs in the C extension
module code.
Any tips appreciated.
Thanks,
Chris
More information about the Python-list
mailing list