. «Чистая» сборки может удалить «мертвую древесину», которая может быть оставлена лежащей рядом с предыдущими сборками, неудачными сборками, неполными сборками и другими проблемами сборки.
В общем случае среда IDE или сборка будет включать в себя некоторую форму «чистой» функции, но это может быть неправильно настроено (например, в ручном файле) или может завершиться неудачей (например, промежуточные или результирующие двоичные файлы - только).
После завершения «очистки» убедитесь, что «чистый» преуспел, и весь сгенерированный промежуточный файл (например, автоматический файл makefile) был успешно удален.
Этот процесс можно рассматривать как конечный вариант, но часто является хорошим первым шагом ; особенно если недавно был добавлен код, связанный с ошибкой (локально или из исходного репозитория).
movl %eax, %eax
или mov eax, eax
, в зависимости от используемого ассемблера.
см .: Архитектура Intel® 64 и IA-32 - Руководство разработчика, Том 1 3.4.1.1: Регистры общего назначения в 64-битном режиме.
32-разрядные операнды генерируют 32-разрядный результат, ноль-расширенный до 64-битного результата в целевом регистре общего назначения.
Я должен добавить в комментарий @ HansPassant: 7.3.1.7:
Инструкция MOVSXD работает с 64-битными данными. Он знаменем - расширяет 32-битное значение до 64 бит.