On 8/30/13, Ali Çehreli <[email protected]> wrote:
> Now your program works with a single change:
>
> enum Size = paddedSize!C();
Excellent.
However will the compiler align all static arrays so their memory
begins at a proper offset?
Maybe a more appropriate question is: Is all stack data guaranteed to
be properly aligned, and on all platforms? For example:
enum Size = paddedSize!C;
ubyte[1] preBuffer;
ubyte[Size][2] buffer;
Is 'buffer' guaranteed to be aligned so its memory begins at a good
offset? There could be any number of bytes before 'buffer', such as
the preBuffer above it.
Tests show that they are indeed aligned, but I wonder if this is
something you can guarantee on all platforms?