Adrian_H skrev 2013-05-08 09:53:
What we really need is a way to force the compiler to do a specific endianness of types and to set the padding/alignment of structures. Some type of modifier that when not used will allow the compiler to optimize as it sees fit, but if used, states that the type MUST BE this way, that the alignment MUST BE this way.
The problem is that C and C++ doesn't enforce any specific implementation of data in the underlying hardware. For example, a byte (char) isn't required to be 8 bits. Not all bits in a word are required to take part of the value. The word size isn't given by standard either. *IF* the language standard was to let you specify 42 bit padding and 17 bit alignment on any data type, that would disqualify some hardware up front. It would just be impossible to implement this on some systems that have compilers right now. How is that an improvement? Less portability because there will be fewer compilers?! Bo Persson