va_arg

Miroslav Mraz mrazik na volny.cz
Pátek Červenec 22 21:27:45 CEST 2016


A co vám brání předat ten uint8_t přes ukazatel ? Ono je lépe ty ... 
vůbec nepoužívat, nakonec třeba MISRA to tuším přímo zakazuje.

Mrazík

Dne 22.7.2016 v 21:08 Pavel Hudecek napsal(a):
> Dobrý den všem,
>
> mějme funkci:
>
> void i2cSend(uint8_t adr, uint8_t bytes, ...) {
> va_list fPar;
> (....)
> sendData[index++] = va_arg(fPar, uint8_t);
> (....)
> }
>
> Na řádku sendData... vznikl následující warning a poznámky:
>
> warning: 'unsigned char' is promoted to 'int' when passed through '...'
> note: (so you should pass 'int' not 'unsigned char' to 'va_arg')
> note: if this code is reached, the program will abort
>
> Abych pravdu řekl, vůbec nevím co si o tom mám myslet. Znamená to, že
> va_arg neumí unsigned char a že bude argumenty žrát po dwordech, nebo že
> stačí, když před va_arg dám (uint8_t) a jinak bude vše OK?
>
> Díky,
> PH


Další informace o konferenci Hw-list