У меня есть следующий фрагмент кода, который я написал на C. Он довольно прост, так как он просто сдвигает биты x
для каждого цикла for.
int main() {
int x = 1;
for (int i = 0; i > -2; i++) {
x >> 2;
}
}
Теперь странная вещь, котораяслучается так, что когда я просто компилирую его без каких-либо оптимизаций или с оптимизацией первого уровня (-O
), он работает просто отлично (я синхронизирую исполняемый файл и его примерно 1.4s
с -O
и 5.4s
без какой-либо оптимизации.
Теперь, когда я добавляю -O2
или -O3
ключ для компиляции и определения времени получающегося исполняемого файла, он не останавливается (я проверял до 60s
).
Любойидеи о том, что может быть причиной этого?