1997 년에 출시 된 nmap 의 소스 코드를 살펴 보니이 코드 섹션이 조금 이상해 보입니다.
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';
왜 당신은 할 것이다 i++;
다음 i--;
바로 서로 후? i
이며 0
, 다음 i++
회전 i
에 1
. 그 후, i--
회전 i
에 0
.
원본 소스 코드에 연결하십시오. 검색 :
i++;
i--;
누구나 이것이 무엇인지 설명 할 수 있습니까?
-O
실제로는 그 문을 최적화합니다.