So ok, I have to specify headers containing my structs and somehow push it to rpython toolchain, if I got you correctly. 0. Why? This structures are already described in the vm file as a bunch of ffi.CStruct objects. 1. If I have to, how would I do that, is there any example of embedding rpython into something? I saw an example "how to embed PyPy" but it looked a bit too PyPy specific. Thanks
2017-07-11 19:15 GMT+03:00 Maciej Fijalkowski <fij...@gmail.com>: > you're missing #includes > > On Tue, Jul 11, 2017 at 8:00 PM, Aleksandr Koshkin > <tinysnipp...@gmail.com> wrote: > > Thanks for your reply. I have reworked my code a bit - now it uses > CStruct > > instead of Struct. > > https://github.com/magniff/rere/blob/master/rere/vm/vm_main.py#L92 > > Now it fails with a rather obscure error https://pastebin.com/MZkni9bU > > Anyway, Maciej, see you at PyConRu 17) > > > > 2017-07-11 18:20 GMT+03:00 Maciej Fijalkowski <fij...@gmail.com>: > >> > >> Sorry wrong, lltype.GcStruct is GC managed, lltype.Struct should work. > >> > >> However, please use rffi.CStruct (as it's better defined) and > >> especially rffi.CArray, since lltype.Array contains length field > >> > >> On Tue, Jul 11, 2017 at 6:49 PM, Maciej Fijalkowski <fij...@gmail.com> > >> wrote: > >> > lltype.Struct is a GC-managed struct, you don't want to have this as a > >> > part of API (use CStruct) > >> > > >> > On Mon, Jul 10, 2017 at 6:15 PM, Aleksandr Koshkin > >> > <tinysnipp...@gmail.com> wrote: > >> >> Here is a link to a function that buggs me. > >> >> https://github.com/magniff/rere/blob/master/rere/vm/vm_main.py#L110 > >> >> I am using this headers for CFFI: > >> >> https://github.com/magniff/rere/blob/master/rere/build/vm_headers.h > >> >> > >> >> 2017-07-10 17:03 GMT+03:00 Aleksandr Koshkin <tinysnipp...@gmail.com > >: > >> >>> > >> >>> Sup, guys. > >> >>> I want my rpython function to be invokable from outside world > >> >>> specifically > >> >>> be python. I have wrapped my function with entrypoint_highlevel and > it > >> >>> appeared in shared object. So far so good. As a first argument this > >> >>> function > >> >>> takes a pointer to a C struct, and there is a problem. I have > >> >>> precisely > >> >>> recreated this struct in RPython as a lltypes.Struct (not > >> >>> rffi.CStruct) and > >> >>> annotated by this object my entrypoint signature, but it seams that > >> >>> some > >> >>> fields of the passed struct are messed up (shifted basically). Could > >> >>> it be > >> >>> because I used Struct instead of CStruct? I am using CFFI as a > binding > >> >>> generator. > >> >>> > >> >>> -- > >> >>> Kind regards, Aleksandr Koshkin. > >> >> > >> >> > >> >> > >> >> > >> >> -- > >> >> Kind regards, Aleksandr Koshkin. > >> >> > >> >> _______________________________________________ > >> >> pypy-dev mailing list > >> >> pypy-dev@python.org > >> >> https://mail.python.org/mailman/listinfo/pypy-dev > >> >> > > > > > > > > > > -- > > Kind regards, Aleksandr Koshkin. > -- Kind regards, Aleksandr Koshkin.
_______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev