C++. Сборник рецептов - [39]
Табл. 1.18. Указание опций компилятора из IDE
IDE | Конфигурация |
---|---|
Visual C++ | На страницах свойств проекта перейдите к Configuration Properties→С/С++→Command Line (командная строка) и введите опцию в поле Additional options (дополнительные опции) |
CodeWarrior | Неприменимо |
C++Builder | Неприменимо |
Dev-C++ | В Project Options выберите Parameters и введите опцию в поле C++ Compiler |
Табл. 1.19. Указание опций компоновщика из IDE
IDE | Конфигурация |
---|---|
Visual C++ | На страницах свойств проекта перейдите к Configuration Properties→Linker→Command Line и введите опцию в поле Additions options |
Metrowerks | Неприменимо |
C++Builder | Неприменимо |
Dev-C++ | В Project Options выберите Parameters и введите опцию в поле Linker |
Visual C++ предоставляет опции расширенной настройки через свой графический интерфейс, но также позволяет указать опции командной строки явно. CodeWarrior и C++Builder не позволяют явно устанавливать опции командной строки, но обычно это не является проблемой, так как аналогично Visual C++ они предоставляют опции расширенной настройки через свои графические интерфейсы. С другой стороны, некоторые IDE предоставляют для настройки инструментов командной строки только самый минимум, за исключением возможности явного ввода в текстовое поле опций командной строки. Dev-C++ занимает положение где-то посередине: хотя Dev-C++ предлагает больше графических опций настройки, чем некоторые IDE, предназначенные для работы с инструментарием GCC, при его использовании обычно бывает необходимо явно ввести опции командной строки.
1.21. Создание отладочной сборки
Вы хотите собрать версию проекта, которую можно будет легко отлаживать.
В основном для получения отладочной сборки требуется:
• отключить оптимизации;
• отключить расширение встраиваемых (inline) функций;
• включить генерацию отладочной информации.
Таблица 1.20 представляет опции компилятора и компоновщика, предназначенные для отключения оптимизаций и встраивания функций, а табл. 1.21 представляет опции компилятора и компоновщика для включения отладочной информации.
Табл. 1.20. Отключение оптимизаций и встраивания из командной строки
Инструментарии | Оптимизация | Встраивание |
---|---|---|
GCC | >-O0 | >-fno-inline ¹ |
Visual C++ Intel (Windows) | >-Od | >-Ob0 |
Intel (Linux) | >-O0 | >-Ob0 |
>-opt off | >-inline off | |
Comeau (Unix) | >-O0 | >--no_inlining |
Comeau (Windows) | To же, что и у основного компилятора, но вместо тире (-) используется слеш (/) | |
Borland | >-Od | >-vi- |
Digital Mars | >-o+none -S | >-C |
¹ Эту опцию указывать не требуется, если не была указана опция >-O3
.
Табл. 1.21. Опции командной строки для включения отладочной информации
Инструментарии | Опции компилятора | Опции компоновщика |
---|---|---|
Comeau (Unix) GCC | -g | -g |
Intel (Linux) Metrowerks | ||
Visual C++ Intel (Windows) | См. табл. 1.22 | См. табл. 1 22 |
Comeau (Windows) | To же, что и у основного компилятора, но вместо тире (-) используется слеш (/) | То же, что и у основного компилятора, но вместо тире (-) используется слеш (/) |
Borland | -v | -v |
Digital Mars | -g | -co |
Табл. 1.22. Включение отладочной информации при использовании Visual C++ или Intel для Windows
Опции компилятора | Опции компоновщика | IDE options¹ | Описание |
---|---|---|---|
-Z7 | -debug | C7 Compatible (совместимость с C7) | Отладочная информация сохраняется в файлах .obj и .exe |
-Zi [-Fd | -debug[-pdb: | Program Database (база данных программы) | Отладочная информация сохраняется в файлах .pdb; опция в квадратных скобках используется для указания файлов .pdb |
-Zi [-Fd | -debug [-pdb: | Program Database for Edit & Continue (база данных программы для редактирования и продолжения) | Отладочная информация сохраняется в файлах .pdb; опция в квадратных скобках используется для указания файлов .pdb. Программа может быть перекомпилирована во время сессии отладки |
¹ Чтобы получить доступ к этим опциям, перейдите к Configuration Properties→С/С++→ General→Debug Information Format (формат отладочной информации).
BoostBuild предоставляет похожий механизм создания отладочной сборки: просто добавьте к требованиям цели >
или используйте опцию командной строки variant=debug, которую можно сократить до просто debug.
Некоторые IDE также предоставляют простой способ создания отладочной сборки. Например, при создании нового проекта в Visual C++ IDE автоматически генерирует конфигурации для отладочной и окончательной сборок. Чтобы запросить отладочную сборку, просто выберите в меню Build опцию Configuration Manager и в качестве активной выберите конфигурацию Debug. Также можно выбрать Debug в раскрывающемся списке конфигураций на стандартной панели инструментов. При следующей сборке проекта будет создана отладочная сборка.
Аналогично при создании проекта в CodeWarrior с помощью одного из шаблонов проектов Metrowerks, называемых «принадлежности» (stationery), IDE автоматически генерирует отладочную и окончательную цели. Имя отладочной цели может быть разным, но оно всегда должно включать слово «debug». Чтобы запросить отладочную сборку, в меню Project выберите пункт Set Default Target (установить цель по умолчанию), а затем выберите элемент меню, соответствующий отладочной цели. Также можно выбрать отладочную цель в раскрывающемся списке целей в окне проекта.

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

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

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

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

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

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