Почему функционирует с помощью только возврата Bool +, чтобы выделять какое -либо место через RBP? [дублировать]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Почему функционирует с помощью только возврата Bool +, чтобы выделять какое -либо место через RBP? [дублировать]

Сообщение Anonymous »

Я играю с просмотром некоторой сборки для простой функции: < /p>

Код: Выделить всё

bool magic()
{
bool j = false;
return j;
}
< /code>
Когда я смотрю код сборки из x86 gcc 11.4 (без оптимизации) я вижу это: < /p>
magic():
push    rbp
mov     rbp, rsp
mov     BYTE PTR [rbp-1], 0
movzx   eax, BYTE PTR [rbp-1]
pop     rbp
ret
Мой вопрос: почему нет Sub RSP, 1 для распределения пространства для переменной? Если я добавлю -M32 в свою строку компиляции, я вижу Sub ESP, 16 , чтобы получить место. Есть ли что -то особенное около 64 -битного режима, которое мне не хватает?


Подробнее здесь: https://stackoverflow.com/questions/795 ... ace-via-rb
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»