Символьная константа с более чем одним символом, например '1234'
, имеет значение, определяемое реализацией. Нет абсолютно никаких гарантий относительно связи между значением '1234'
и порядком байтов системы.
Препроцессору просто не хватает информации для определения порядка байтов в целевой системе.
И имейте в виду, что big-endian и little-endian не единственные возможности. Для 4-байтового целочисленного типа существует 24 (4 факторных) возможных порядка байтов. Все они разрешены языком, и по крайней мере 3 из них были использованы на реальных машинах.