Исходный код, код сборки, машинный код, код объекта, байт-код, исполняемый файл и файл библиотеки.
Все эти термины часто вводят в заблуждение большинство людей из-за того, что они считают себя взаимоисключающими . Смотрите схему, чтобы понять их отношения. Описание каждого термина приведено ниже.
Исходный код
Инструкции на человекочитаемом (программирующем) языке
1020 *
*
код высокого уровня
Инструкции, написанные на языке высокого уровня (программирования)
Например, программы на C, C ++ и Java
Код сборки
Инструкции, написанные на ассемблере (разновидность низкоуровневого языка программирования).
В качестве первого шага процесса компиляции высокоуровневый код преобразуется в эту форму. Это код сборки, который затем преобразуется в фактический машинный код. В большинстве систем эти два шага выполняются автоматически как часть процесса компиляции.
Например, program.asm
Код объекта
Продукт процесса компиляции. Это может быть в форме машинного кода или байтового кода.
Например, file.o
Машинный код
Инструкции на машинном языке.
Например, a.out
Байт-код
Инструкция в промежуточной форме, которая может быть выполнена таким переводчиком, как JVM.
Например, файл классов Java
* *
тысяча сорок-девять
Исполняемый файл
Продукт связывания процесса. Это машинный код, который может напрямую выполняться процессором.
Например, файл .exe.
Обратите внимание, что в некоторых случаях файл, содержащий байт-код или инструкции на языке сценариев, также может считаться исполняемым.
Библиотечный файл
Некоторый код скомпилирован в эту форму по разным причинам, например, для повторного использования и позднее используется исполняемыми файлами.