方法一
uint8_t Is_Little_endian(void) { uint16_t i = 1; return (*(uint8_t *)&i); }
方法二
uint8_t Is_Little_endian(void) { union { uint16_t big; uint8_t lit; } check; check.big = 1; return check.lit; }
方法三
static union { uint8_t a[2]; uint16_t i; }endian = {1,0}; #define Is_Little_endian() ((uint8_t)endian.i)
判断
int main() { if(Is_Little_endian()) printf("It's Little-endian"); return 1; }