В вычислительной технике объектный код или объектный модуль является продуктом ассемблера или компилятора . [ 1]
В общем смысле объектный код — это последовательность операторов или инструкций на компьютерном языке, [2] обычно на языке машинного кода (т. е. двоичном ) или на промежуточном языке, таком как язык передачи регистров (RTL). Термин указывает на то, что код является целью или результатом процесса компиляции, при этом некоторые ранние источники ссылались на исходный код как на «субъектную программу». [ необходима цитата ]
Объектные файлы в свою очередь могут быть связаны для формирования исполняемого файла или библиотечного файла . Для использования объектный код должен быть помещен либо в исполняемый файл, либо в библиотечный файл, либо в объектный файл.
Объектный код — это часть машинного кода, которая еще не была связана с полной программой. Это машинный код для одной конкретной библиотеки или модуля, который будет составлять завершенный продукт. Он также может содержать заполнители или смещения, не найденные в машинном коде завершенной программы, которые компоновщик будет использовать для соединения всего вместе. В то время как машинный код — это двоичный код, который может быть выполнен непосредственно ЦП, объектный код имеет переходы и межмодульные ссылки, частично параметризованные, чтобы компоновщик мог их заполнить. Предполагается, что объектный файл начинается с определенного места в памяти, часто с нуля. Он содержит информацию об инструкциях, которые ссылаются на память, чтобы компоновщик мог переместить код при объединении нескольких объектных файлов в одну программу.
Ассемблер используется для преобразования ассемблерного кода в машинный код (объектный код). Компоновщик связывает несколько объектных (и библиотечных) файлов для генерации исполняемого файла. Ассемблеры (и некоторые компиляторы) также могут собирать напрямую в машинный код для создания исполняемых файлов без промежуточного шага объекта. [ 3]
вывод компиляции назывался объектным кодом или иногда объектным модулем.