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
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
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