[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