LINUX.ORG.RU

История изменений

Исправление Vic, (текущая версия) :

Чому так? Указатели же ссылаются на одну ячейку памяти?

Это результат работы оптимизатора с ключом -Ofast. Чуть выше я дал пример с ключом -O0, отключающий бОльшую часть оптимизаций, пример стал выдавать «A» и «B», как и положено.

Судя по ассемблерному листингу, когда ставишь -Ofast, то первое условие вместе с печатаньем «A» просто выкидывается и не попадает в бинарный код.

Собственно все эти новомодные «си стандарты» по большей степени касаются именно работы всяких оптимизаторов.

Исходная версия Vic, :

Чому так? Указатели же ссылаются на одну ячейку памяти?

Это результат работы оптимизатора с ключом -Ofast. Чуть выше я лад пример с ключом -O0, отключающий бОльшую часть оптимизаций, пример стал выдавать «A» и «B», как и положено.

Судя по ассемблерному листингу, когда ставишь -Ofast, то первое условие вместе с печатаньем «A» просто выкидывается и не попадает в бинарный код.

Собственно все эти новомодные «си стандарты» по большей степени касаются именно работы всяких оптимизаторов.