[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