Tuesday, March 14, 2017

f there was a human possibility to calculate the elliptic curve on an infinite random geo space...we, would have God's encryption

MESSIAH CODE PART II 

What is the strict aliasing rule?

...

Before strict aliasing was introduced, the compiler had to live in a state of paranoia that the contents of buff could change at anytime from anywhere by anybody. So to get an extra performance edge, and assuming most people don't type-pun pointers, the strict aliasing rule was introduced.
Keep in mind, if you think the example is contrived, this might even happen if you're passing a buffer to another function doing the sending for you, if instead you have.
void SendMessage(uint32_t* buff, size_t size32)
{
    for (int i = 0; i < size32; ++i) 
    {
        SendWord(buff[i]);
    }
}
And rewrote our earlier loop to take advantage of this convenient function
for (int i =0; i < 10; ++i)
{
    msg->a = i;
    msg->b = i+1;
    SendMessage(buff, 2);
}

No comments:

Man in the Rain