Hey Chris,

I though I'd mention the srfi-4 unit and it's u32vector. This may come in
handy for your particular struct. While make-blobs are great for allocating
managed memory for arbitrary structs, you can sometimes use make-s32vector,
for example, where the struct is basically an array like yours.

Note that this may not be a good idea if your struct members are just using
"int" because you wouldn't know if it's a s32vector or a s64vector. Also,
your foreign-type would go from (pointer (struct "color")) to a
u32vectorwhich means you may have to cast it to a (struct
color*) in C. However, it does make extracting the individual
color-components much easier than having to work with raw blobs.

Because size of an "int" can generally be either 32 or 64-bit depending on
your architecture, the srfi-4 vectors are possible better suited for floats
and doubles where the sizes are all set. It's worth knowing about them
though.

Cheers,
K.


On Fri, Sep 6, 2013 at 12:23 PM, Chris Mueller <ruunsm...@gmail.com> wrote:

> On 06.09.2013 09:07, Peter Bex wrote:
>
>> On Fri, Sep 06, 2013 at 08:52:08AM +0200, Chris Mueller wrote:
>>
>>> Hope its not too basic for you. :)
>>>
>>
>> Never, user questions are what this mailing list is for!  I hope my
>> answers make a little sense.
>>
>
> Definitely! This is very helpful. I will immediately check and use this.
>
> Now it also makes sense for me what's one of the intensions behind "blobs"
> in the documentation/wiki. Never thought it can be used for
> memory allocation in C interfaces :)
>
> Thanks
>
> Chris
>
>
> ______________________________**_________________
> Chicken-users mailing list
> Chicken-users@nongnu.org
> https://lists.nongnu.org/**mailman/listinfo/chicken-users<https://lists.nongnu.org/mailman/listinfo/chicken-users>
>
_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to