cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 3 janv. 2005 à 20:13
Jme trompe ou tu avais deja fait une telle source ?
cs_Arnotic
Messages postés933Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention 9 janvier 20121 3 janv. 2005 à 20:20
il est vrai qu'il y a longtemps j'avais une source mais qui étais jsute un bout de code imcomplet sur ca. sauf que cette version et vraiment autre chose (va voir pour comparer tu comprendras ;)
cs_AlexMAN
Messages postés1536Date d'inscriptionsamedi 21 décembre 2002StatutMembreDernière intervention24 mai 20091 3 janv. 2005 à 21:14
Uè je vois ke codé plus 'propre', mais un truc me chagrine.. :
Pkoi ne pas faire un strcpy() (jpense ke c pour les perfs, mais bon kan mm..) ? Ou pkoi ne pas remplacer par des :
*((DWORD *)(c + x)) = 0xXXXXXXXX ? Ne serait pas mieux et encore plus performant ?
Enfin, jme demande, si tu las fait, c kil ya une raison jpense !
Merci
++
BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 3 janv. 2005 à 22:37
Instructions lineaires sans sauts de code (boucles strcpy par exemple) = prefs maximales.
L'affectation sur 4 octets necessite l'alignement sur un multiple de 4 au niveau de l'adresse cible, on n'en aurait aucune garantie ici.
cs_Arnotic
Messages postés933Date d'inscriptiondimanche 1 avril 2001StatutMembreDernière intervention 9 janvier 20121 3 janv. 2005 à 22:42
3 janv. 2005 à 20:13
3 janv. 2005 à 20:20
3 janv. 2005 à 21:14
*c '\r'; *(c+1) '\n'; *(c+2) = 'X'; *(c+3) = '-';
*(c+4) 'P'; *(c+5) 'r'; *(c+6) = 'i'; *(c+7) = 'o';
*(c+8) 'r'; *(c+9) 'i'; *(c+10) = 't'; *(c+11) = 'y';
*(c+12) ':'; *(c+13) ' '; *(c+14) = '3'; *(c+15) = '\r';
*(c+16) '\n'; *(c+17) 'M'; *(c+18) = 'I'; *(c+19) = 'N';
*(c+20) 'E'; *(c+21) '-'; *(c+22) = 'V'; *(c+23) = 'e';
*(c+24) 'r'; *(c+25) 's'; *(c+26) = 'i'; *(c+27) = 'o';
*(c+28) 'n'; *(c+29) ':'; *(c+30) = ' '; *(c+31) = '1';
*(c+32) '.'; *(c+33) '0'; *(c+34) = '\r'; *(c+35) = '\n';
*(c+36) 'S'; *(c+37) 'u'; *(c+38) = 'b'; *(c+39) = 'j';
*(c+40) 'e'; *(c+41) 'c'; *(c+42) = 't'; *(c+43) = ':';
*(c+44) = ' ';
c = bnstrcpy(c+45, MyMAIL->szSujet);
*c '\r'; *(c+1) '\n'; *(c+2) = 'C'; *(c+3) = 'o';
*(c+4) 'n'; *(c+5) 't'; *(c+6) = 'e'; *(c+7) = 'n';
*(c+8) 't'; *(c+9) '-'; *(c+10) = 't'; *(c+11) = 'y';
*(c+12) 'p'; *(c+13) 'e'; *(c+14) = ':'; *(c+15) = ' ';
*(c+16) 'm'; *(c+17) 'u'; *(c+18) = 'l'; *(c+19) = 't';
*(c+20) 'i'; *(c+21) 'p'; *(c+22) = 'a'; *(c+23) = 'r';
*(c+24) 't'; *(c+25) '/'; *(c+26) = 'm'; *(c+27) = 'i';
*(c+28) 'x'; *(c+29) 'e'; *(c+30) = 'd'; *(c+31) = ';';
*(c+32) ' '; *(c+33) 'b'; *(c+34) = 'o'; *(c+35) = 'u';
*(c+36) 'n'; *(c+37) 'd'; *(c+38) = 'a'; *(c+39) = 'r';
*(c+40) 'y'; *(c+41) '='; *(c+42) = 'b'; *(c+43) = 'b';
*(c+44) '3'; *(c+45) '2'; *(c+46) = 'f'; *(c+47) = '0';
*(c+48) 'a'; *(c+49) '4'; *(c+50) = '1'; *(c+51) = 'b';
*(c+52) '7'; *(c+53) '1'; *(c+54) = '5'; *(c+55) = '5';
*(c+56) 'b'; *(c+57) '1'; *(c+58) = '8'; *(c+59) = '9';
*(c+60) '8'; *(c+61) '2'; *(c+62) = 'f'; *(c+63) = 'a';
*(c+64) '2'; *(c+65) '5'; *(c+66) = '6'; *(c+67) = 'e';
*(c+68) '5'; *(c+69) '9'; *(c+70) = '7'; *(c+71) = '4';
*(c+72) 'a'; *(c+73) 'b'; *(c+74) = 'a'; *(c+75) = '\r';
*(c+76) '\n'; *(c+77) '\r'; *(c+78) = '\n'; *(c+79) = '-';
*(c+80) '-'; *(c+81) 'b'; *(c+82) = 'b'; *(c+83) = '3';
*(c+84) '2'; *(c+85) 'f'; *(c+86) = '0'; *(c+87) = 'a';
*(c+88) '4'; *(c+89) '1'; *(c+90) = 'b'; *(c+91) = '7';
*(c+92) '1'; *(c+93) '5'; *(c+94) = '5'; *(c+95) = 'b';
*(c+96) '1'; *(c+97) '8'; *(c+98) = '9'; *(c+99) = '8';
*(c+100) '2'; *(c+101) 'f'; *(c+102) = 'a'; *(c+103) = '2';
*(c+104) '5'; *(c+105) '6'; *(c+106) = 'e'; *(c+107) = '5';
*(c+108) '9'; *(c+109) '7'; *(c+110) = '4'; *(c+111) = 'a';
*(c+112) 'b'; *(c+113) 'a'; *(c+114) = '\r'; *(c+115) = '\n';
*(c+116) 'C'; *(c+117) 'o'; *(c+118) = 'n'; *(c+119) = 't';
*(c+120) 'e'; *(c+121) 'n'; *(c+122) = 't'; *(c+123) = '-';
*(c+124) 'T'; *(c+125) 'y'; *(c+126) = 'p'; *(c+127) = 'e';
*(c+128) ':'; *(c+129) ' '; *(c+130) = 't'; *(c+131) = 'e';
*(c+132) 'x'; *(c+133) 't'; *(c+134) = '/'; *(c+135) = 'h';
*(c+136) 't'; *(c+137) 'm'; *(c+138) = 'l'; *(c+139) = '\r';
*(c+140) '\n'; *(c+141) 'C'; *(c+142) = 'o'; *(c+143) = 'n';
*(c+144) 't'; *(c+145) 'e'; *(c+146) = 'n'; *(c+147) = 't';
*(c+148) '-'; *(c+149) 'D'; *(c+150) = 'i'; *(c+151) = 's';
*(c+152) 'p'; *(c+153) 'o'; *(c+154) = 's'; *(c+155) = 'i';
*(c+156) 't'; *(c+157) 'i'; *(c+158) = 'o'; *(c+159) = 'n';
*(c+160) ':'; *(c+161) ' '; *(c+162) = 'i'; *(c+163) = 'n';
*(c+164) 'l'; *(c+165) 'i'; *(c+166) = 'n'; *(c+167) = 'e';
*(c+168) '\r'; *(c+169) '\n'; *(c+170) = '\r'; *(c+171) = '\n';
*(c+172) = 0;
Pkoi ne pas faire un strcpy() (jpense ke c pour les perfs, mais bon kan mm..) ? Ou pkoi ne pas remplacer par des :
*((DWORD *)(c + x)) = 0xXXXXXXXX ? Ne serait pas mieux et encore plus performant ?
Enfin, jme demande, si tu las fait, c kil ya une raison jpense !
Merci
++
3 janv. 2005 à 22:37
L'affectation sur 4 octets necessite l'alignement sur un multiple de 4 au niveau de l'adresse cible, on n'en aurait aucune garantie ici.
3 janv. 2005 à 22:42