Онлайн-рабочие станции OnWorks Linux и Windows

Логотип

Бесплатный хостинг в Интернете для рабочих станций

<Предыдущая | Содержание: | Следующая>

Что такое компиляция?

Проще говоря, компиляция - это процесс перевода исходный код (удобочитаемое описание программы, написанной программистом) на родном языке процессора компьютера.

Процессор компьютера (или ЦП) работает на очень элементарном уровне, выполняя программы в так называемом машинный язык. Это числовой код, описывающий очень небольшие операции, такие как «добавить этот байт», «указать на это место в памяти» или «скопировать этот байт».


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

Эта проблема была преодолена с появлением язык ассемблера, который заменил числовые коды на (немного) более простой в использовании символ мнемоника такие как CPY (для копирования) и MOV (для перемещения). Программы, написанные на языке ассемблера, переводятся в машинный язык программой, называемой ассемблер. Язык ассемблера до сих пор используется для некоторых специализированных задач программирования, таких как драйверы устройств и встраиваемых систем.

Далее мы переходим к тому, что называется языки программирования высокого уровня. Они называются так, потому что позволяют программисту меньше беспокоиться о деталях того, что делает процессор, и больше заниматься решением текущей проблемы. Первые (разработанные в 1950-х годах) включали ФОРТРАН (предназначен для научно-технических задач) и Кобол (предназначен для бизнес-приложений). Оба до сих пор используются в ограниченном количестве.

Хотя существует множество популярных языков программирования, преобладают два. Большинство программ, написанных для современных систем, написаны либо на C or C + +. В следующих примерах мы будем компилировать программу на C.

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

Процесс, часто используемый вместе с компиляцией, называется связывающий. Программы выполняют множество общих задач. Возьмем, к примеру, открытие файла. Многие программы выполняют эту задачу, но было бы расточительно, если бы каждая программа реализовывала свою собственную процедуру открытия файлов. Более разумно иметь единый программный продукт, который знает, как открывать файлы, и позволяет всем программам, которым это нужно, делиться им. Поддержка общих задач осуществляется с помощью так называемых библиотеки. Они содержат несколько рутины, каждая из которых выполняет какую-то общую задачу, которую могут совместно использовать несколько программ. Если мы посмотрим в / Lib и / USR / Lib справочники, мы можем видеть, где многие из них живут. Программа под названием оставил используется для формирования связей между выводом компилятора и библиотеками, которые требуются скомпилированной программе. Конечным результатом этого процесса является исполняемый программный файл, готов к использованию.


 

Лучшие облачные вычисления для ОС в OnWorks: