ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 июля
622656 Топик полностью
LightElf (02.10.2015 19:01 - 19:06, просмотров: 138) ответил VL на Утки! Х-макросы
Ну вот собственно и нашел в конце-концов решение в виде:  #define H1(s,i,x) (x*65599u+(uint8_t)s[(i)<(sizeof(s)-1)?(sizeof(s)-1)-1-(i):(sizeof(s)-1)]) #define H4(s,i,x) H1(s,i,H1(s,i+1,H1(s,i+2,H1(s,i+3,x)))) #define H16(s,i,x) H4(s,i,H4(s,i+4,H4(s,i+8,H4(s,i+12,x)))) #define H64(s,i,x) H16(s,i,H16(s,i+16,H16(s,i+32,H16(s,i+48,x)))) #define H256(s,i,x) H64(s,i,H64(s,i+64,H64(s,i+128,H64(s,i+192,x)))) #define HASH(s) ((uint32_t)(H256(s,0,0)^(H256(s,0,0)>>16))) данный трюк позволяет спокойно делать такие штуки, как: baud = get_user_parm(HASH("Скорость обмена УАРТ5"));
Не надо делать мне как лучше, оставьте мне как хорошо