On Jun 2
> 
> Yes, you right.
> (NBFFICallout new resolveType: 'byte*') valueSize  => 1
> (NBFFICallout new resolveType: 'byte*') storageSize  => 4
> 
> apparently, if one wants array with 'byte*' element type (or any other)
> it should use a pointer size (4), not byte size (1) for it.
> 
>> Or is a disclaimer not to use the class for, say, 'char*' elements more
>> appropriate?
>> 
> no , it should be fine.
> The difference between valueSize and storageSize is a bit confusing,
> and easy to confuse which to use..
> Perhaps they need different naming.
+1 consider that people will use that during 10 years so good comments + names 
is KEY

> There also stackSize, which means "how many bytes a value of given type
> will take, if pushed on stack , and aligned accordingly"
> 
> ... after some more investigation, i found that actually
> storageSize should not be used. There is typeSize instead.
> 
> So, the final expression should be:
> 
> elementType := aTypeName.
> elementSize := (NBFFICallout new requestor: self; resolveType:
> elementType) typeSize.
> 
> 
> and #sizeOf: method should also use typeSize apparently.
> 
> 
>> Cheers,
>> Henry
> 
> 
> -- 
> Best regards,
> Igor Stasenko.
> 


Reply via email to