On Fri, 2013-08-02 at 09:02 +0200, Thomas Martitz wrote: > Am 31.07.2013 15:29, schrieb Peter Meerwald: > >> It looks like some headers define both _BIG_ENDIAN and _LITTLE_ENDIAN > >> (perhaps one is defined as "1" and the other as "0"?), so maybe a > >> > >> #if defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN) > > boost (boost/detail/endian.hpp) does it like this > > > > p. > > > > My system (debian jessy) defines both in endian.h (except it has two > underscores), and __BYTE_ORDER is defined to the appropriate value. So > the check on my system would be > > #if __BYTE_ORDER == __BIG_ENDIAN > ... > #endif The bit I touched is sparc-specific. You'll notice that's exactly how the check is done in the header when __BYTE_ORDER is defined. -- Arun