ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
27 октября
1609478 Топик полностью
IBAH (Сегодня, 18:13, просмотров: 81)
Ковыряю библиотеку писанную под литлэндин-бигэндинг. За условия компиляции отвечает макрос 
//
#if BYTE_ORDER == LITTLE_ENDIAN
#define htoes(x) ((uint16_t)(x))
#define htoel(x) ((uint32_t)(x))
#else
#define htoes(x) CC_SWAP16 ((uint16_t)(x))
#define htoel(x) CC_SWAP32 ((uint32_t)(x))
#endif

#define etohs(x) htoes (x)

#define etohl(x) htoel (x)

//

коде полно вызовов макроса, в том числе и для переменных волитейт.

volatile int a;

a= etohl(a);

И получается компилятор будет вздрачивать эту переменную почем зря. Не нравится мне этот онанизм! как победить?