Determining endiannessEdit
I just had cause to remove some code from a project I was working on; where previously I had to detect endianness I now no longer need to. But the code snippet may be useful in the future so I am pasting it in here:
BOOL is_little_endian(void)
{
[/tags/if #if] defined(__LITTLE_ENDIAN__)
return YES;
[/tags/elif #elif] defined(__BIG_ENDIAN__)
return NO;
[/tags/else #else]
// try to figure out endianness dynamically
int i = 0;
((char *)(&i))[0] = 1;
return (i == 1);
[/tags/endif #endif]
}
This isn’t the exact code I used, but it demonstrates the idea.