Ответы пользователя по тегу Assembler
  • Почему clang выдает такой ассемблерный код?

    @vadimr
    Семантически у вас в двух вариантах написаны совершенно разные вещи.

    В первом случае в секции данных создаётся безымянная структура, ссылка на которую присваивается переменной p, а во втором случае записывается число в поле структуры p, автоматически размещаемой, т.е. для типичных архитектур находящейся на стеке.

    На высоких уровнях оптимизации, конечно, компилятор догадается, что результат этих действий один и тот же, но формально это разные программы. По той же самой причине, по которой элементарные и агрегатные типы в языке Си различаются между собой по способу присваивания.
    Ответ написан