Разница между исходной программой и объектной программой

Оглавление:

Разница между исходной программой и объектной программой
Разница между исходной программой и объектной программой

Видео: Разница между исходной программой и объектной программой

Видео: Разница между исходной программой и объектной программой
Видео: Компиляция и интерпретация за 10 минут 2024, Ноябрь
Anonim

Ключевое различие между исходной программой и объектной программой заключается в том, что исходная программа - это удобочитаемая программа, написанная программистом, а объектная программа - это исполняемая программа, созданная путем компиляции исходной программы.

Исходные программы могут быть либо скомпилированы, либо интерпретированы для выполнения. Декомпиляторы помогают преобразовать объектные программы обратно в исходные программы. Важно отметить, что термины исходная программа и объектная программа используются как относительные термины. Если вы возьмете программу преобразования программы (например, компилятор), то на входе будет исходная программа, а на выходе - объектная программа. Следовательно, объектная программа, созданная одним инструментом, может стать исходным файлом для другого инструмента.

Что такое исходная программа?

Программист пишет исходную программу, используя язык более высокого уровня. Поэтому он легко читается людьми. Исходные программы обычно содержат осмысленные имена переменных и полезные комментарии, чтобы сделать их более читабельными. Машина не может напрямую выполнять исходную программу. Компилятор помогает преобразовать исходную программу в исполняемый код для выполнения на машине. Как вариант, стоит воспользоваться переводчиком. Он выполняет исходную программу построчно без предварительной компиляции.

Разница между исходной программой и объектной программой
Разница между исходной программой и объектной программой
Разница между исходной программой и объектной программой
Разница между исходной программой и объектной программой

Рисунок 01: Исходная программа

Visual Basic - пример компилируемого языка, а Java - пример интерпретируемого языка. Исходные файлы Visual Basic (файлы.vb) компилируются в код.exe, а исходные файлы Java (файлы.java) сначала компилируются (с помощью команды javac) в байт-код (объектный код, содержащийся в файлах.class), а затем интерпретируются с использованием интерпретатор java (используя команду java). Когда программные приложения распространяются, обычно они не включают исходные файлы. Однако, если приложение с открытым исходным кодом, исходный код также распространяется, и пользователь также может видеть и изменять исходный код.

Что такое объектная программа?

Объектная программа обычно представляет собой машинный исполняемый файл, являющийся результатом компиляции исходного файла с помощью компилятора. Помимо машинных инструкций, они могут включать отладочную информацию, символы, информацию о стеке, информацию о перемещении и профилировании. Поскольку они содержат инструкции в машинном коде, люди не могут их легко прочитать. Но иногда объектные программы ссылаются на промежуточный объект между исходным и исполняемым файлами.

Инструменты, известные как компоновщики, помогают связать набор объектов в исполняемый файл (например, язык C). Как упоминалось выше, файлы.exe и файлы байт-кода являются объектными файлами, созданными при использовании Visual Basic и Java соответственно. Файлы.exe выполняются непосредственно на платформе Windows, в то время как для выполнения файлов байт-кода требуется интерпретатор.

Большинство программных приложений распространяются только с объектными или исполняемыми файлами. Можно преобразовать объектные или исполняемые файлы обратно в исходные файлы путем декомпиляции. Например, инструменты декомпилятора могут декомпилировать файлы java.class (байт-код) в исходные файлы.java.

В чем разница между исходной программой и объектной программой?

Исходная программа - это удобочитаемая программа, написанная программистом. Она написана на языках более высокого уровня, таких как Java или C. Поэтому исходная программа читается человеком. Это не понятно машине.

С другой стороны, объектная программа представляет собой исполняемую программу, созданную после компиляции исходной программы. Он содержит языки более низкого уровня, такие как ассемблер или машинный код. Следовательно, объектная программа не читается человеком. Машиной понятно.

Разница между исходной программой и объектной программой в табличной форме
Разница между исходной программой и объектной программой в табличной форме
Разница между исходной программой и объектной программой в табличной форме
Разница между исходной программой и объектной программой в табличной форме

Резюме – Исходная программа и объектная программа

Разница между исходной программой и объектной программой заключается в том, что исходная программа - это удобочитаемая программа, написанная программистом, а объектная программа - это исполняемая программа, созданная путем компиляции исходной программы.

Рекомендуемые: