ctypes pointer

mclaugb mclaugb at nospm.yahoo.com
Tue Jun 19 17:35:28 CEST 2007


I answered this one already.
from ctypes import *

libx = CDLL("small_dll5.dll", RTLD_GLOBAL)

libx = cdll.small_dll4
libx.adder.restype = None
libx.adder.argtypes = [c_double, c_double, POINTER(c_double)]
real=c_double(0)
imag=c_double(0)
zz=libx.adder(3.342,4,byref(size))
print size


"mclaugb" <mclaugb at nospm.yahoo.com> wrote in message 
news:f58rp6$kig$1 at gemini.csx.cam.ac.uk...
>I have a simple function
>
> void adder(double a, double b, double *c){
> *c = a+b;
> }
>
> i have created a shared dll -- "small_dll4.dll" of it using visual studio.
>
> now i wish to call it from python.
> to do so, i have done the following:
>
> libx = cdll("small_dll4.dll", RTLD_GLOBAL)
> libx.adder.argtypes = [c_double, c_double, POINTER(c_double)]
> libx.adder.restype = None
> size=c_double()
> zz=libd.adder(3.342, 4, byref(size))
>
> and the result is an access violation!
>
>  File "<console>", line 0, in __main__
> WindowsError: exception: access violation reading 0x7EF9DB23
>
> I cant figure out what is causing this.
> thanks in advance,
> Bryan
> 





More information about the Python-list mailing list