Поскольку вам интересно, как компилятор это делает, он переводит ==
в машинный код, который содержит инструкцию cmp
.Эта инструкция сравнивает два операнда и сохраняет результат сравнения.Результат можно проверить, чтобы увидеть, были ли операнды равны, не равны, меньше, больше, и т. Д.
В случае использования ==
в операторе if
, это, вероятно, сгенерирует что-токак это:
cmp op1, op2
jne else_address
, что в основном означает «Сравните два значения.Если они не равны, перейдите к блоку else. '