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
lscpu
méthode est plus ce à quoi je m'attendrais.
od
approche 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.
od
méthode? C'est simple et fonctionne partout. C'est ce à quoi j'ai pensé avant de lire le corps de votre question.