python ctype question about "access violation reading location 0x5a5a5a5a"
arkanes at gmail.com
Wed Mar 29 04:34:03 CEST 2006
On 3/28/06, Yanping Zhang <zhan0645 at yahoo.com> wrote:
> Hi All,
> I need to use this C routine in python and there is a void pointer parameter in it:
> (this routine was written by someone else):
> myfunc(int a, (void *)userdata, bool b)
> I saw someone in his C++ wrapper used this routine in this way:
> myfunc(a, (void *)0x5a5a5a5a, b)
> In my python wrapper, I tried to call it as the following and both failed:
> 1. myfunc(c_int(a), 0x5a5a5a5a, c_int(b))
> got error "access voilation reading from 0x5a5a5a5a"
> data = 0x5a5a5a5a
> mydata = c_void_p(data)
> myfunc(c_int(a), mydata, c_int(b))
> same error as in 1
> Can anyone know how to fix it? Thanks!
You are re-creating the C code correctly, the problem is that C code
you're working from is wrong (and whoever wrote it should be beaten).
Passing a constant like that as a pointer (that myfunc presumably does
something with) is something that just can't work.
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
More information about the Python-list