Comment vérifier si un système est un grand ou un petit endien ?
Réponses
Trop de publicités?
Nikita Pestrov
Points
3778
Neeraj
Points
766
weibeld
Points
1530
Un one-liner avec Perl (qui devrait être installé par défaut sur presque tous les systèmes) :
perl -e 'use Config; print $Config{byteorder}'
Si la sortie commence par un 1 (octet le moins significatif), c'est un système un peu endien. Si la sortie commence avec un chiffre plus élevé (octet le plus significatif), c'est un grand système endien. Voir la documentation du module Config.
Evg
Points
4011
En C++20, utilisez std::endian
:
#include <bit>
#include <iostream>
int main() {
if constexpr (std::endian::native == std::endian::little)
std::cout << "little-endian";
else if constexpr (std::endian::native == std::endian::big)
std::cout << "big-endian";
else
std::cout << "mixed-endian";
}