Само по себе — нет. Один и тот же текст, собранный другой версией GCC, Clang или компилятора Visual Studio, даёт разный машинный код. То же делают настройки оптимизации, разрядность, целевая система, версия компоновщика и порядок подачи файлов.
Многие сборки записывают внутрь дату, имя машины и пути к исходникам; путь попадает в отладочные данные и сообщения об ошибках, а не в сам код, но файл всё равно отличается. Добавьте языковые настройки системы и подпись, которую ставят после сборки. Побайтовое совпадение достижимо только при специальной подготовке проекта — этим занимается направление воспроизводимых сборок.
Поэтому задачу ставят иначе: не «совпадают ли файлы», а «получается ли из переданного та же по существу программа», и сравнивают по признакам, устойчивым к настройкам.