Компиляция исходного кода

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

Сама по себе компиляция одного или несколько файлов исходного кода не представляется сложной задачей, так как подавляющее большинство компиляторов имеет простой и понятный интерфейс взаимодействия с помощью командной строки. Для примера можно взять взаимодействие с компилятором языка Java, который вызывается с помощью команды «javac»:

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

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

К сожалению, не существует единого инструмента, поддерживающего сборку проектов на всех возможных языках программирования, но можно рассмотреть наиболее популярные из них, осуществляющие поддержку распространенных языков программирования:

  • · Make [23] - одна из самых первых утилит для сборки проекта, появившаяся в 1977 году. Данный инструмент основан на чтении файлов «Makefile», в которых описаны так называемые правила, представляющие собой инструкции, применяемые при сборке.
  • · CMake [24] является кроссплатформенной системой автоматизации сборки программного обеспечения. Данная система, однако, не занимается непосредственно сборкой, а генерирует команды для других сборщиков на основе используемой операционной системы. Таким образом, Cmake, запущенный на операционной системе семейства Unix будет генерировать файлы «Makefile», а на операционной системе семейства Windows «.vcproj/.sln», использующиеся при сборке с помощью Visual C++. Данная система обычно используется для сборки проектов, написанных на языке C/C++.
  • · Apache Ant [25] - декларативный кроссплатформенный фреймворк для сборки проектов. Данный фреймворк является аналогом системы Make, но команды для сборки в данной системе конфигурируются в виде XML-файлов. До фреймворка Apache Maven данный инструмент был наиболее популярным для сборки проектов на Java.
  • · Apache Maven [26] является кроссплатформенным фреймворком для автоматизации сборки проектов, написанных на Java, Ruby, Scala, С#, Groovy и других языках. Данный фреймворк является одним из самых популярных на данный момент для сборки проектов на языке Java. Из достоинств фреймворка можно выделить богатый выбор плагинов, которые позволяют расширить возможности фреймворка.

Рассмотренные фреймворки широко применяются в индустрии для решения проблем, связанных с организацией исходного кода и других файлов проекта для их последующей сборки в итоговую программу.

 
< Пред   СОДЕРЖАНИЕ   Загрузить   След >