Re: [ctypes-users] Help with struct arrays
Brought to you by:
theller
From: Nicholas E. <nch...@gm...> - 2013-09-27 08:14:55
|
Thanks Thomas, that makes sense. However using either of the two methods returns nothing. As far as I can tell, the values are stored in the struct, the function returns the struct to the python wrapper, but when I attempt to 'print phin[0].times[0]', instead of the location like last time, I just get nothing... I'm super confused. Any guidance would be appreciated! Nicholas Earl Graduate Research Assistant San Diego State University On Thu, Sep 26, 2013 at 11:12 PM, Thomas Heller <th...@ct...> wrote: > Am 27.09.2013 06:37, schrieb Nicholas Earl: > > Hello all! I'm having difficulties accessing the information in a > > returned struct object. I'm quite new to C/C++, but I've had plenty of > > experience with C#, so I think I have my foot in the door. > > > > I have a struct defined as > > > > class PhotoInfo(ctypes.Structure): > > _fields_ = [ > > ('times', ctypes.POINTER(ctypes.c_double)), > > ('fluxes', ctypes.POINTER(ctypes.c_double)), > > ] > > > > with the restype defined like > > > > def main(): > > lib = ctypes.cdll.LoadLibrary('photoroutine.so') > > > > start = lib.start > > PhotoInfoPtr = ctypes.POINTER(PhotoInfo) > > start.restype = PhotoInfoPtr > > > > But when I call > > > > phin = start() > > > > I can't get to the time and flux info the returned object has. I've > > tried using > > > > phin.contents.times > > > > but it just gives me a location; i.e. <__main__.LP_c_double object at > > 0x159fef0> > > > > How do I get the actual array of times and fluxes? > > Try 'phin[0].times[0]' or 'phin.contents.times.contents'. > The former is the preferred idiom. > > Thomas > > > > > ------------------------------------------------------------------------------ > October Webinars: Code for Performance > Free Intel webinars can help you accelerate application performance. > Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most > from > the latest Intel processors and coprocessors. See abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk > _______________________________________________ > ctypes-users mailing list > cty...@li... > https://lists.sourceforge.net/lists/listinfo/ctypes-users > |