Je regardais le code source de nmap qui a été publié en 1997 et j'ai remarqué cette section de code qui me semble un peu étrange:
int i=0, j=0,start,end;
char *expr = strdup(origexpr);
ports = safe_malloc(65536 * sizeof(short));
i++; /* <<<<<< */
i--; /* <<<<<< */
for(;j < exlen; j++)
if (expr[j] != ' ') expr[i++] = expr[j];
expr[i] = '\0';
Pourquoi auriez-vous i++;
et puis i--;
juste après l'autre? i
est 0
, puis i++
se tourne i
vers 1
. Après cela, i--
se tourne i
vers 0
.
Lien vers le code source d'origine. Rechercher:
i++;
i--;
Quelqu'un peut-il expliquer à quoi cela sert?
-O
cela optimise effectivement ces instructions.