Quelqu'un connaît-il une commande qui signale si un système est Big Endian ou Little Endian, ou est-ce que la meilleure option est une technique comme celle-ci utilisant Perl ou une chaîne de commandes?
Perl
# little
$ perl -MConfig -e 'print "$Config{byteorder}\n";'
12345678
# big
$ perl -MConfig -e 'print "$Config{byteorder}\n";'
87654321
od | awk
# little
$ echo -n I | od -to2 | awk 'FNR==1{ print substr($2,6,1)}'
1
# big
$ echo -n I | od -to2 | awk 'FNR==1{ print substr($2,6,1)}'
0
Les références
lscpuméthode est plus ce à quoi je m'attendrais.
odapproche devrait fonctionner sur la plupart des systèmes ouverts, pas seulement sur linux, ce qui serait le cas avec l'utilisation lscpu. Donc, ce qui est "meilleur" dépend des circonstances.
odméthode? C'est simple et fonctionne partout. C'est ce à quoi j'ai pensé avant de lire le corps de votre question.