Объясните, какое различие существует между файлом исходного кода, файлом объектного кода и исполняемым файлом.
В упрощенном виде: исходный код (на языке программирования Assembler, Pascal, C, C++ или еще каком) компилируется в один или несколько объектных файлов, объектные файлы (части программы в формате для выполнения процессором) потом линкуются в исполняемый файл (программа полностью, которая запускается операционной системой).
Создание исполняемого файла издавна производилось в три этапа:
(1) обработка исходного кода препроцессором,
(2) компиляция в объектный код
(3) компоновка объектных модулей, включая модули из объектных библиотек, в исполняемый файл.
Это классическая схема для компилируемых языков.
Но зачем надо сначала получать объектный файл, а потом из него уже исполняемый?
Для программ, состоящих из одного файла, такой необходимости нет.
файл исходного кода - как правило, текстовый файл
исполняемый файл - двоичный файл, содержащий команды процессора