#ifdef _WIN32
__declspec(naked)
bool inline is_little_endian(void)
{
u_int32 tsv;
__asm
{
xor eax, eax;
lea ecx, tsv;
mov byte ptr[ecx], 1;
mov al, byte ptr tsv;
ret;
}
}
#else
bool inline is_little_endian(void)
{
static const u_int32 tsv = 1;
return *((bool*)&tsv);
}
#endif