Начало работы с SCons: установка и использование

SCons - это утилита make следующего поколения, которую гораздо проще настроить и использовать, чем make. Многие разработчики считают, что делать синтаксис не просто сложно, но довольно уродливо. Как только вы выучите это, все будет в порядке, но у него будет немного крутая кривая обучения.

Вот почему SCons был разработан; это лучше сделать и значительно проще в использовании. Он даже пытается выяснить, что компилятор необходимо, а затем поставляет правильные параметры. Если вы программируете на C или C ++ в Linux или Windows, то вам обязательно нужно проверить SCons.

Установка

Для установки SCons вам необходимо иметь питон уже установлено. Если вы используете Linux, то, скорее всего, у вас уже есть Python. Если у вас есть Windows, вы можете проверить, есть ли она у вас; некоторые пакеты, возможно, уже установили его. Сначала получите командную строку. Нажмите кнопку «Пуск» (в XP нажмите «Выполнить»), затем введите cmd и в командной строке введите python -V. Это должно сказать что-то вроде Python 2.7.2. Любая версия 2.4 или выше подходит для SCons.

instagram viewer

Если у вас нет Python, то вам нужно скачать и установить 2.7.2. В настоящее время, SCons не поддерживает Python 3, поэтому 2.7.2 является последней (и последней) версией 2 и лучшей в использовании. Тем не менее, это может измениться в будущем, поэтому проверьте Требования SCons.

Следуйте инструкциям по установке SCons. Это не сложно; однако, когда вы запускаете установщик, если он работает под Vista / Windows 7, убедитесь, что вы запускаете scons.win32.exe от имени администратора. Для этого перейдите к файлу в проводнике Windows и щелкните правой кнопкой мыши, затем выберите «Запуск от имени администратора».

После установки, если у вас есть Microsoft Visual C ++ (Express в порядке), цепочка инструментов MinGW, Компилятор Intel или PharLap ETS уже установлен, SCons должен быть в состоянии найти и использовать ваш компилятор.

Использование SCons

В качестве первого примера сохраните приведенный ниже код как HelloWorld.c.

int main (int arcg, char * argv [])
{
printf ("Привет, мир! \ n");
}

Затем создайте файл с именем SConstruct в том же месте и отредактируйте его так, чтобы в нем была эта строка. Если вы сохраняете HelloWorld.c с другим именем файла, убедитесь, что имя в кавычках совпадает.

Программа ( 'helloworld.c')

Теперь введите scons в командной строке (там же, где HelloWorld.c и SConstruct), и вы должны увидеть это:

C: \ CPLUS \ блог> SCons
scons: чтение файлов SConscript ...
scons: закончено чтение файлов SConscript.
scons: Построение целей ...
cl /FoHelloWorld.obj / c HelloWorld.c / nologo
helloworld.c
ссылка / nologo / OUT: HelloWorld.exe HelloWorld.obj
scons: сделано строительство целей.

Это построило HelloWorld.exe, который при запуске выдает ожидаемый результат:

 C: \ CPLUS \ блог> HelloWorld
Привет, мир!

Примечания

Электронная документация очень хороша для начала работы. Вы можете обратиться к краткому единственному файлу человек (руководство) или более дружелюбный более многословный Руководство пользователя SCons.

SCons позволяет легко удалить ненужные файлы из компиляции, просто добавив параметр -c или -clean.

scons -c

Это избавляет от HelloWorld.obj и файла HelloWorld.exe.

SCons является кроссплатформенным, и хотя эта статья посвящена началу работы в Windows, SCons поставляется в комплекте с системами Red Hat (RPM) или Debian. Если у вас другая разновидность Linux, то руководство по SCons содержит инструкции по сборке SCons в любой системе. Это открытый исходный код в лучшем виде.

SCons Файлы SConstruct - это скрипты Python, поэтому, если вы знаете Python, у вас не будет проб. Но даже если вы этого не сделаете, вам нужно всего лишь изучить небольшое количество Python, чтобы извлечь из него максимум пользы. Однако следует помнить две вещи:

  1. Комментарии начинаются с #
  2. Вы можете добавить печатные сообщения с печатью («Some Text»)

Обратите внимание, что SCons предназначен только для не .NET, поэтому он не может создавать код .NET, если вы не изучите SCons немного больше и не создадите конкретный строитель.