[LUGOS-PROG] checksum
Marko Bevc
fonzie at kibla.org
Sat Jun 29 10:32:36 CEST 2002
kaj pa v primeru:
sum+=*(var_abc+i);
?
lp,
Marko
On Sat, 29 Jun 2002, Blaz Antonic wrote:
> Hello,
>
> Recimo da imam eno strukturo
>
> struct abc = {
> unsigned long var1;
> unsigned short var2;
> unsigned char var3[8];
> } * var_abc;
>
> ki okupira 4 + 2 + 8 bajtov. Ce gledam nanjo drugace je na mestu, kamor
> kaze var_abc 7 zaporednih 16-bitnih (short) vrednosti. Recimo, da bi jih
> rad sestel skupaj (v checksum). Kako se tega lotim ?
>
> int i;
> unsigned short sum;
>
> for (i = 0; i < 7; i++)
> sum += (unsigned short) var_abc[i];
>
> ni pravi nacin, gcc se pritozuje in izpljune error. Alternatiuve, ki sem
> jih probal (in ne delajo) so
>
> sum += (unsigned short *) var_abc[i];
>
> sum += (unsigned short *) var_abc + i;
>
> sum += (unsigned short) var_abc + i;
>
> Vsaj zdi se mi, da sem te kombinacije probal, gcc pa napise nekaj
> drugega (ampak se zmeraj ne dela).
>
> Probal sem tudi tako, da bi
>
> unsigned short * var_def[7];
>
> kazal na isto mesto kot var_abc, potem pa bi sesteval skupaj var_def[i].
> Afaik tudi to ne dela.
>
> Blaz Antonic
>
More information about the lugos-prog
mailing list