История изменений
Исправление quasimoto, (текущая версия) :
for (auto i = 0; i < 10; ++i)
printf("%d\n", i);
xorl %ebx, %ebx
.L3:
movl %ebx, %edx
xorl %eax, %eax
movl $.LC0, %esi
movl $1, %edi
addl $1, %ebx
call __printf_chk
cmpl $10, %ebx
jne .L3
Потому что мешают оптимизации. Вон dotimes тупо разорачивается в goto. После чего компилятору нужно понять что это цикл, догадаться где условие выхода и тд
0_o
Исходная версия quasimoto, :
for (auto i = 1; i <= 10; ++i)
printf("%d\n", i);
movl $1, %ebx
.L3:
movl %ebx, %edx
xorl %eax, %eax
movl $.LC0, %esi
movl $1, %edi
addl $1, %ebx
call __printf_chk
cmpl $11, %ebx
jne .L3
Потому что мешают оптимизации. Вон dotimes тупо разорачивается в goto. После чего компилятору нужно понять что это цикл, догадаться где условие выхода и тд
0_o