Не не, я тогда уточню, то есть компилятор минует условно ассемблер, как бы глупо не звучало, что у нас нигде нет mov/load, то есть уровня абстрации в виде ассемблера, компилятор СИ сразу генерирует нам абстрактный файл с опкодами 3A 3C CC ...
если в общем случае, то да, компилятор отливает абстрактное синтаксическое дерево в конкретную последовательность опкодов целевой архитектуры. внутри может быть любое количество шагов преобразования
Не не, для общего развития, в целом то все понятно, но вот задумался о том что компилятор же на выходе дает листинг опкодов, а процессор не может понимать в лобовую опкоды
Не не, для общего развития, в целом то все понятно, но вот задумался о том что компилятор же на выходе дает листинг опкодов, а процессор не может понимать в лобовую опкоды
Вот именно что для людей, но си тоже для людей))) Обе абстракции дают конечный результат в виде чего, в виде машинного кода или в виде команд?
в итоге должен быть машинный код. в каком-то из форматов исполняемого файла для прошивок это чаще bin, hex, elf есть ещё win32 pe, a.out, elf и много чего
в итоге должен быть машинный код. в каком-то из форматов исполняемого файла для прошивок это чаще bin, hex, elf есть ещё win32 pe, a.out, elf и много чего
в итоге должен быть машинный код. в каком-то из форматов исполняемого файла для прошивок это чаще bin, hex, elf есть ещё win32 pe, a.out, elf и много чего
Не путай формат исполняемого файла, который завязан на ОС, с набором инструкций процессора ;)