From: Thorsten Hater
Date: 2009-10-29T06:04:40+09:00
Subject: Re: FFI and pointers
Well, the problem is not to use the pointer type as such, but
compatibility issue.
I have this function behaving like malloc, and other functions
which take pointers to - let's say - float.
Since malloc returns void* I suspect the problems I experience
are due to this mismatch.
Justin Collins schrieb:
> Thorsten Hater wrote:
>> Hello,
>>
>> I'm playing around with FFI and encountered a problem, I could not solve
>> till now.
>> Let's assume I use standard C's malloc in my wrapper:
>>
>> attach_function :malloc, [:int], :pointer
>>
>> so far no problem. But what now? The pointer returned is of type void*,
>> which is of no help, since I need double*, int* and float* ...
>> Is there a type cast mechanism in FFI (or anything similar) or do I
>> have to wrap
>> the original library in another layer of C (alternatively write a
>> helper lib...)
>> Or can I import C's typecasts using FFI itself?
>>
>> Best regards,
>> Thorsten
>>
>>
>
> If nothing else, you can use the read_* and write_* methods (like
> read_int) to interact with it.
>
> -Justin
>
|