static basis sum(uint8_t arg_cnt, void **args){
basis result = 0;
for(;arg_cnt--;*args++){
result += evalute(args);
}
return result;
}
#define num(x) ((x) & 0xFF), \
(((x) >> 8) & 0xFF), \
(((x) >> 16UL) & 0xFF), \
(((x) >> 24UL) & 0xFF)
#define adr(x) ((uint16_t)(x) & 0xFF), \
((uint16_t)(x) & 0xFF00) >> 8
uint8_t massiv[] = {
TOC_VAR, 0,
TOC_FUNC,adr(sum), 0, 3,
TOC_NUMBER, num(99UL),
TOC_NUMBER, num(1UL),
TOC_VAR, 0,
TOC_END
};
не получается занести в массив адрес функции :((( пишет - не константа :((( с чего бы это вдруг?