[devel] странная проблема с gcc?

Ivan A. Melnikov iv на altlinux.org
Вт Май 21 00:11:42 MSK 2024


On Mon, May 20, 2024 at 11:37:50PM +0300, Vladislav Zavjalov wrote:
> Всем привет!
> 
> Локализовал какую-то странную проблему в C коде,
> не понимаю, это проблема с моим пониманием С или с компилятором.
> 
> Код ниже: число печатается кусочками по два байта.
> Это перестает работать при компиляции с -O2 или -O3.

Это неопределённое поведение (UB), вызванное нарушением strict
aliasing rules. Так делать не надо, но если очень хочется,
(осторожно: учу плохому) добавьте `-fno-strict-aliasing`
к ключам компилятора.

А вообще про strict aliasing почитайте, полезное.

-- 
  wbr,
    iv m.


Подробная информация о списке рассылки Devel