// ====================================================================== // // endian.cc // // Copyright 2004, Dennis Meilick and Rene Peralta // // ---------------------------------------------------------------------- // // Description: // This program determines the byte order for the current machine. It // is used to set the #define in include/lnv3/digit.h // // ---------------------------------------------------------------------- // // To Compile: // g++ -o endian endian.cc // // ---------------------------------------------------------------------- // // To Run: // ./endian // // ====================================================================== #include using namespace std; typedef enum byteOrder_t { bigEndian, littleEndian }; byteOrder_t TestByteOrder( void ) { short int word = 0x0001; char *byte = (char *) &word; return( byte[0] ? littleEndian : bigEndian ); } int main( ) { if( TestByteOrder( ) == littleEndian ) cout << "little endian" << endl; else cout << "big endian" << endl; return 0; }