M8R-yfto6h at mailinator.com
Sat Jun 7 05:36:26 CEST 2008
"gianluca" <geonomica at gmail.com> wrote in message
news:e1836378-5a00-43f5-b672-2e3a4191f960 at m73g2000hsh.googlegroups.com...
> I've a huge problem with ctypes. I've compiled my C library and I'd
> like use it in python with ctype. One function need to pass a pointer
> to typed ( like this: typedef int value_type). In python I can access
> to that funtion but arise an exception because python don't know my
> value_type typedef.
> Please I need help, could anybody help me?
Let's see if I understand you correctly. You have a typedef, and a function
that is passed a pointer to that typedef. Below is a short Windows DLL,
compiled with "cl /LD example.c"
typedef int value_type;
__declspec(dllexport) void function(value_type* x)
*x *= 2;
And here is some python code to call it:
>>> from ctypes import *
>>> value_type = c_int # declares a type "value_type"
>>> as a ctypes integer
>>> value=value_type(5) # create an instance of value_type
>>> function=cdll.example.function # look up the function and declare
>>> return type and arguments
>>> function(pointer(value)) # call the function with a pointer
>>> to the instance
Hope that helps.
More information about the Python-list