Тогда уж надо полноценный ./configure скрипт использовать. Остановился на своём способе, вопрос решен.
| Код | static const union { int i; char c; } _endian = { (0xFF << ((sizeof(int)-1)*8)) | 0x01 };
#define BYTEOFFS(nbyte, size) (_endian.c == 1 ? (nbyte) : ( (size) - 1 - (nbyte))) #define BYTEPTR(ptr, nbyte, size) (((char*)(ptr)) + BYTEOFFS(nbyte, size))
#define BYTERANGEOFFS(startbyte, endbyte, size) (_endian.c == 1 ? (startbyte) : ( (size) - 1 - (endbyte))) #define BYTERANGEPTR(ptr, startbyte, endbyte, size) (((char*)(ptr)) + BYTERANGEOFFS(startbyte, endbyte, size))
#define NEXTBYTEPTR(ptr) (((char*)(ptr)) + _endian.c) #define PREVBYTEPTR(ptr) (((char*)(ptr)) - _endian.c)
|
|