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