#include
int main(int argc, char ** argv) {
// 32 位的變量。
volatile uint32_t i=0x01234567;
// 取得變量 i 的位址,將其當成 4 個 byte 的陣列,並檢視第 0 個元素是否是 67。
return (*((uint8_t*)(&i))) == 0x67;
}
$ gcc -o endian endian.c
$ ./endian
# 若為小端,則為 1。
$ echo $?
# 驗證是否為小端。
$ readelf -h endian
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian