va_arg
Milan B.
milan na bastl.sk
Sobota Červenec 23 21:37:53 CEST 2016
On 23. 7. 2016 11:26, Pavel Hudecek wrote:
> Díky za podrobné vysvětlení.
>
> Takže teď tam mám:
>
> uint8_t sd[10];
> uint8_t *sendData;
> (...)
> sendData=sd;
> (...)
> sendData[index++] = (uint8_t)va_arg(fPar, uint32_t);
>
> Funguje a negeneruje warningy.
>
> A o kousek dál, kde chci přenášet pole, na které byl předán pointer, je:
>
> sendData=(uint8_t *)va_arg(fPar, uint32_t);
>
Myslim, ze tu sa da pouzit rovno:
sendData=va_arg(fPar,uint8_t*);
> Taky funguje bez protestů.
> Je to tak správně, nebo je v tom nějaký potenciální zádrhel?
>
Problem je len s typmi mensimi ako minimalne slovo ulozitelne na zasobnik.
Vo vasom pripade by problem zrejme nastal, ak by sizeof(uint32_t) nebolo
rovne sizeof(uint8_t*)
-m-
> PH
------------- další část ---------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3810 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20160723/b7c7887a/attachment.bin>
Další informace o konferenci Hw-list