C++. Сборник рецептов - [10]
Если вы используете Linux, то какая-то версия GCC уже должна быть установлена. Чтобы проверить номер версии, введите >g++ -v
. Текущая версия GCC — это 4.0.0. Если ваша версия сильно устарела, используйте систему управления пакетами, применяемую в вашем дистрибутиве Linux, и установите наиболее новую.
Cygwin и MinGW представляют очень разные подходы к портированию инструментов GNU в Windows. Cygwin — это амбициозный проект, стремящийся воспроизвести Unix-подобную среду, работающую под Windows. Он предоставляет уровень совместимости с Unix, что позволяет компилировать и выполнять под Windows программы, написанные для Unix. Следовательно, для Cygwin доступно огромное количество утилит Unix. Даже если вы не разрабатываете для Unix, вы, возможно, скоро станете считать, что вам необходимы инструменты Cygwin.
MinGW, что означает «Minimalist GNU for Windows» (минимальный GNU для Windows), предоставляет минимальную среду для сборки исполняемых файлов для Windows с помощью GCC. Среди других вещей MinGW включает порт GCC, порт архиватора и компоновщика GNU и порт отладчика GNU GDB. Он также включает MSYS — среду командной строки, способную выполнять make-файлы GNU и сценарии configure. MSYS будет обсуждаться в рецепте 1.14.
Одно из важных различий между Cygwin и MinGW относится к лицензированию. За некоторыми исключениями вы можете распространять двоичные файлы, скомпилированные с помощью порта MinGW GCC, под любой удобной вам лицензией. С другой стороны, двоичные файлы, собранные с помощью порта Cygwin GCC, по умолчанию подпадают под действие лицензии GNU General Public License (GPL). Если вы хотите распространять программы, скомпилированные в Cygwin, не делая их исходники открытыми, вы должны приобрести лицензию у Red Hat. За полным описанием обратитесь к Web-сайтам Cygwin и MinGW.
Рецепт 1.14.
1.2. Сборка простого приложения «Hello, World» из командной строки
Вы хотите собрать простую программу «Hello, World», подобную приведенной в примере 1.4.
Пример 1.4. Простая программа «Hello, World»
hello.cpp
>#include
>int main() {
> std.:cout << "Hello, World!\n";
>}
Выполните следующие шаги.
1. Установите все переменные среды окружения, необходимые для вашего инструментария.
2. Введите команду, которая говорит компилятору скомпилировать и скомпоновать вашу программу.
Сценарии для установки переменных среды окружения перечислены в табл 1.5. Эти сценарии расположены в той же директории, что и инструменты командной строки (табл. 1.3), Если ваш инструментарий в табл. 1.5 не указан, пропустите первый шаг. В противном случае, если вы используете Windows, запустите соответствующий сценарий из командной строки, а если используете Unix, то укажите его в качестве источника переменных окружения.
Табл. 1.5. Сценарии для установки переменных среды окружения, необходимые для инструментов командной строки
Инструментарий | Сценарий |
---|---|
Visual C++ | vcvars32.bat |
Intel (Windows) | iclvars.bat¹ |
Intel (Linux) | iccvars.sh или iccvars.csh |
Metrowerks (Mac OS X) | iccvars.sh или mwvars.csh² |
Metrowerks (Windows) | cwenv.bat |
Comeau | Тот же, что и для используемого базового инструментария |
¹ В предыдущих версиях компилятора Intel этот сценарий назывался iccvars.bat.
² В версиях CodeWarrior до 10.0 имелся единственный сценарий csh с именем mwvars.
Команды для компиляции и компоновки hello.cpp приведены в табл. 1.6. Для корректной работы эти команды требуют, чтобы ваша текущая директория была директорией, содержащей hello.cpp, и чтобы директория, в которой находится компилятор командной строки, была указана в переменной среды >PATH
. Если на шаге 1 вы запустили сценарий, то последнее требование будет удовлетворено автоматически. Также возможно, что директорию, содержащую инструменты командной строки, в переменную >PATH
добавил инсталлятор при установке инструментария. В противном случае вы можете либо добавить эту директорию в переменную >PATH
, как показано в табл. 1.7, либо указать в командной строке полный путь к файлу.
Табл. 1.6. Команды для компиляции и компоновки hello.cpp за один шаг
Инструментарий | Командная строка |
---|---|
GCC | g++ -o hello hello.cpp |
Visual C++ | cl -nologo -EHsc -GR -Zc:forScope -Zc:wchar_t -Fehello hello.cpp |
Intel (Windows) | id -nologo -EHsc -GR -Zc:forScope -Zc:wchar_t -Fehello hello.cpp |
Intel (Linux) | icpc -o hello hello.cpp |
Metrowerks | mwcc -wchar_t on -cwd include -o hello hello.cpp |
Comeau | como -o hello hello.cpp |
Borland | bcc32 -q -ehello hello.cpp |
Digital Mars | dmc -Ae -Ar -l |
Табл. 1.7. Добавление директории в переменную среды окружения PATH для одной сессии работы с командной строкой
Оболочка | Командная строка |
---|---|
bash, sh, ksh (Unix) | export PATH= |
csh, tsch (Unix) | setenv PATH |
cmd.exe (Windows) | set PATH= |
Например, при использовании Microsoft Visual Studio .NET 2003 и установке ее по стандартному пути на диск С перейдите в директорию, содержащую hello.cpp, и введите показанные ниже команды.
>> "C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin\vcvars32.bat"
>Setting environment for using Microsoft Visual Studio .NET 2003 tools.

Java Enterprise Edition (Java EE) остается одной из ведущих технологий и платформ на основе Java. Данная книга представляет собой логичное пошаговое руководство, в котором подробно описаны многие спецификации и эталонные реализации Java EE 7. Работа с ними продемонстрирована на практических примерах. В этом фундаментальном издании также используется новейшая версия инструмента GlassFish, предназначенного для развертывания и администрирования примеров кода. Книга написана ведущим специалистом по обработке запросов на спецификацию Java EE, членом наблюдательного совета организации Java Community Process (JCP)

Что такое ГЕЙМДИЗАЙН? Это не код, графика или звук. Это не создание персонажей или раскрашивание игрового поля. Геймдизайн – это симулятор мечты, набор правил, благодаря которым игра оживает. Как создать игру, которую полюбят, от которой не смогут оторваться? Знаменитый геймдизайнер Тайнан Сильвестр на примере кейсов из самых популярных игр рассказывает как объединить эмоции и впечатления, игровую механику и мотивацию игроков. Познакомитесь с принципами дизайна, которыми пользуются ведущие студии мира! Создайте игровую механику, вызывающую эмоции и обеспечивающую разнообразие.

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

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

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

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