У меня есть следующий фрагмент кода, который я написал в 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
).
Любые идеи о том, что может быть причиной этого?