[Haskell-cafe] Re: Can my type be allowed as return type in FFI?
Mauricio
briqueabraque at yahoo.com
Thu Dec 11 10:28:04 EST 2008
>> This would solve half my problem. Can I always trust that? I've
>> been told before that everytime a C function returns a struct it
>> is actually returning a pointer, but I wasn't able to find that
>> written in stone
>
> That's because it isn't true.
> In fact one of the classical ways for a C function to
> return a struct is to be *GIVEN* a pointer, e.g.,
> (...)
Sure, sorry. I should have said that the C functions fill memory
from a given pointer.
> and obviously a C compiler is entitled to return a small struct
> in registers if it feels like it.
If a compiler is compiling code that calls a library, how is it
supposed to know if a return pointer is been passed as a register
or by using a pointer? The compiler may not have access to the
built library to check that. (Begginer question, I never wrote
assembly code.)
Thanks,
Maurício
More information about the Haskell-Cafe
mailing list