| alexAlexalex9991 a întrebat:


Imi spuneti si mie ce inseamna chestia asta in C:
*((u_char*)&oddbyte)=*(u_char*)

adica nu inteleg ce e cu operatorii si cu... pointerii...e cam complicat
explicati-mi si mie despre ce este vorba aici, stiu programare cat de cat dar asta ma depaseste, ce inseamna expresia asta?

10 răspunsuri:
suntserios
| suntserios a răspuns:

Poti da un context mai detaliat in care ai gasit bucata de cod?

| CinevaNou a răspuns:

Esti pus pe flood sau doar te documentezi?

| adrianbestboy98 a răspuns:

Char declara o functie in codul tau de restul nu is sigur ce inseamnathinking desi programez in c++

| CinevaNou a răspuns (pentru adrianbestboy98):

Unde vezi o functie? O_O

| Radu284 a răspuns (pentru CinevaNou):

Si unde char, ca eu vad doar u_char big grin Ala banuiesc ca inseamna unsigned char? Nu am mai vazut niciodata sintagma asta folosita.

| CinevaNou a răspuns (pentru Radu284):

Da, e unsigned char "typedef unsigned char u_char;"
E folosita doar in implementarea socketurilor, ca ei au fost prea smecheri sa scrie unsigned char...

| alexAlexalex9991 explică:

Unsigned short csum(unsigned short *pentru, int nbytes) {
register long sum;
unsigned short oddbyte;
register short answer;

sum=0;
while(nbytes>1) {
sum+=*pentru++;
nbytes-=2;
}
if(nbytes==1) {
oddbyte=0;
*((u_char*)&oddbyte)=*(u_char*)pentru;
sum+=oddbyte;
}

sum = (sum>>16)+(sum & 0xffff);
sum = sum + (sum>>16);
answer=(short)~sum;

return(answer);
}

| CinevaNou a răspuns (pentru alexAlexalex9991):

Inainte sa inveti "programare linux" trebuie sa stii ce e aia programare in general. N-ai nicio sansa sa intelegi codul ala daca nu stii exact ce e ala un pointer si ce face, sau o adresa, un sir de biti, operatii pe un sir de biti(shiftare, bit mask, operatii logice), tipuri de date, structuri, type cast-uri

Poti incepe de aici http://www.learncpp.com/

| Radu284 a răspuns (pentru alexAlexalex9991):

Asta e codul tau? Daca abia te-ai apucat sa inveti programare pentru Linux, te-as sfatui sa o iei mai incet si sa nu te apuci de optimizari de genul asta, cu operatii pe biti, ANDuri si shifturi, etc.

| alexAlexalex9991 explică:

Mai baieti voi sunteti programatori, sau?
Vreau sa invat si eu programare pe linux, dar e complicat nu prea are cine sa-mi explice.
Puteti sa-mi dati niste sfaturi?