you really can't convert it to the C stuff like that. You need to do: foo = ffi.new("int[]", 13) foo[0] = 12 foo[1] = 55
etc. You can write nice python wrapper around those things too, if the data is too bare bone. On Fri, Aug 7, 2015 at 1:09 PM, Yicong Huang <hengha....@gmail.com> wrote: > Hi Maciej, > > Could you provide some details on how to use cffi buffers? (a simple demo > code or documents) > I tried the below code but it did not work. > > #python list > x=[1,2,3,4] > #intend to convert to c++ char*, but failed > p=ffi.from_buffer(x) > #intend to covert back to python list, but failed > y=ffi.buffer(p) > > Thanks! > > -Ethan > > On Fri, Aug 7, 2015 at 6:24 PM, Maciej Fijalkowski <fij...@gmail.com> wrote: >> >> you can use cffi buffers (e.g. cffi char*) that you manipulate from >> python using wrappers. They would behave (sort of) like python objects >> and the wrapper code is really not a performance penalty in most cases >> >> On Fri, Aug 7, 2015 at 12:19 PM, Yicong Huang <hengha....@gmail.com> >> wrote: >> > Hi, >> > >> > Are there any good methods to serialize Pypy object to C++ char* and >> > deserialize to Pypy object from C++ char*? >> > >> > Our scenario like this: >> > We have at least two C++ process running, and each process embeded Pypy >> > to >> > execute some functions. >> > And we woule like to reuse Pypy object from one process to another >> > process. >> > For primitive objects, int/char/bool/double etc., we could use cffi to >> > pass >> > objects. >> > Pypy object -> c++ process 1 -> c++ process 2 -> Pypy object >> > >> > But for complex objects, e.g. list/array/dict/tuple, are there any >> > methods? >> > >> > >> > >> > >> > >> > >> > _______________________________________________ >> > pypy-dev mailing list >> > pypy-dev@python.org >> > https://mail.python.org/mailman/listinfo/pypy-dev >> > > > _______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev