Из-за хакерского любопытства, интересно, как gcc
может оптимизировать функцию ниже этого ловко?Объяснение оптимизации gcc
int c() {
int i, j = 0;
for (i = 0; i < 10; i++) {
j += i;
}
return j;
}
$objdump -D c.o
ниже для оружия, но x86 не отличается от логики.
00000000 <c>:
0: 202d movs r0, #45 ; 0x2d
2: 4770 bx lr
Я в основном интересуюсь, является ли это результатом цепочки оптимизаций или что-то вроде соответствия шаблону? Есть ли какая-либо документация по такой оптимизации?
retaging с с будет Atract больше людей ... – qPCR4vir