[pypy-dev] Call rpython from outside

Maciej Fijalkowski fijall at gmail.com
Tue Jul 11 12:15:31 EDT 2017


you're missing #includes

On Tue, Jul 11, 2017 at 8:00 PM, Aleksandr Koshkin
<tinysnippets at 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 <fijall at 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 <fijall at 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
>> > <tinysnippets at 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 <tinysnippets at 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 at python.org
>> >> https://mail.python.org/mailman/listinfo/pypy-dev
>> >>
>
>
>
>
> --
> Kind regards, Aleksandr Koshkin.


More information about the pypy-dev mailing list