Д. Стефенс - C++. Сборник рецептов

Тут можно читать онлайн Д. Стефенс - C++. Сборник рецептов - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство КУДИЦ-ПРЕСС, год 2007. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    C++. Сборник рецептов
  • Автор:
  • Жанр:
  • Издательство:
    КУДИЦ-ПРЕСС
  • Год:
    2007
  • Город:
    Москва
  • ISBN:
    5-91136-030-6
  • Рейтинг:
    3.9/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Д. Стефенс - C++. Сборник рецептов краткое содержание

C++. Сборник рецептов - описание и краткое содержание, автор Д. Стефенс, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Данная книга написана экспертами по C++ и содержит готовые рецепты решения каждодневных задач для программистов на С++. Один из авторов является создателем библиотеки Boost Iostreams и нескольких других библиотек C++ с открытым исходным кодом. В книге затрагивается множество тем, вот лишь некоторые из них: работа с датой и временем; потоковый ввод/вывод; обработка исключений; работа с классами и объектами; сборка приложений; синтаксический анализ XML-документов; программирование математических задач. Читатель сможет использовать готовые решения, а сэкономленное время и усилия направить на решение конкретных задач.

C++. Сборник рецептов - читать онлайн бесплатно полную версию (весь текст целиком)

C++. Сборник рецептов - читать книгу онлайн бесплатно, автор Д. Стефенс
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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 предоставляет похожий механизм создания отладочной сборки: просто добавьте к требованиям цели debugили используйте опцию командной строки variant=debug , которую можно сократить до просто debug .

Некоторые IDE также предоставляют простой способ создания отладочной сборки. Например, при создании нового проекта в Visual C++ IDE автоматически генерирует конфигурации для отладочной и окончательной сборок. Чтобы запросить отладочную сборку, просто выберите в меню Build опцию Configuration Manager и в качестве активной выберите конфигурацию Debug. Также можно выбрать Debug в раскрывающемся списке конфигураций на стандартной панели инструментов. При следующей сборке проекта будет создана отладочная сборка.

Аналогично при создании проекта в CodeWarrior с помощью одного из шаблонов проектов Metrowerks, называемых «принадлежности» ( stationery ), IDE автоматически генерирует отладочную и окончательную цели. Имя отладочной цели может быть разным, но оно всегда должно включать слово «debug». Чтобы запросить отладочную сборку, в меню Project выберите пункт Set Default Target (установить цель по умолчанию), а затем выберите элемент меню, соответствующий отладочной цели. Также можно выбрать отладочную цель в раскрывающемся списке целей в окне проекта.

C++Builder не поддерживает множественных конфигураций для одного проекта, но он предоставляет простой способ создания отладочной сборки. Чтобы запросить отладочную сборку, перейдите в Project Options→Compiler и нажмите на Full debug (полная отладка). Это отключит все оптимизации и встраивание и включит отладочную информацию.

При использовании IDE, которая не предоставляет готовых отладочной и окончательной конфигураций, такой как Dev-C++, или если вам требуется получить дополнительный контроль над параметрами проекта, обратитесь к таблицам с 1.23 до 1.25.

Табл. 1.23. Отключение оптимизаций из IDE

IDE Конфигурация
Visual C++ На страницах свойств проекта перейдите к Configuration Properties→C/C++→Optimization и установите опцию Optimization в значение Disabled (отключено). Для остальных опций на этой странице оставьте значения по умолчанию
CodeWarrior В окне Target Settings перейдите к Code Generation→Global Optimizations (генерация кода→глобальная оптимизация) и выберите Off (выкл)
C++Builder В Project Options перейдите к Compiler, в разделе Code optimization (оптимизация кода) выберите None
Dev-C++ В Project Options перейдите к Compiler→Optimization и установите опцию Perform a number of minor optimizations (выполнить несколько незначительных оптимизаций) в значение No (нет), затем перейдите к Compiler→Optimization→Further optimizations (дополнительные оптимизации) и установите опции Optimize (оптимизировать), Optimize more (дополнительно оптимизировать) и Best Optimization (наилучшая оптимизация) в значение No

Табл. 1.24. Отключение встраивания из IDE

IDE Конфигурация
Visual C++ На страницах свойств проекта перейдите к Configuration Properties→C/C++→Optimization и установите опцию Inline Function Expansion (расширение встраиваемых функций) в значение Default (по умолчанию)
CodeWarrior В окне Target Settings перейдите к Language Settings→C/C++ Language и установите Inline Depth (глубина встраивания) в значение Don't Inline (не встраивать)
C++Builder В Project Options перейдите к Compiler и в разделе Debugging установите флажок Disable inline expansions (отключить встраивание функций)
Dev-C++ См. запись для GCC в табл. 1.20 и обратитесь к рецепту 1.20

Табл. 1.25. Включение отладочной информации в IDE

IDE Конфигурация
Visual C++ См. табл. 1.22
CodeWarrior В окне Target Settings перейдите к Language Settings→Linker→PPC Mac OS X Linker и установите флажки Generate SYM File (генерировать SYM-файл) и Full Path in SYM Files (полные пути в SYM-файлах)
C++Builder В Project Options перейдите к Compiler и установите флажки Debug information и Line Number Information (информация о номерах строк)
Dev-C++ См. запись для GCC в табл. 1.21 и обратитесь к рецепту 1.20
Обсуждение

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Д. Стефенс читать все книги автора по порядку

Д. Стефенс - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




C++. Сборник рецептов отзывы


Отзывы читателей о книге C++. Сборник рецептов, автор: Д. Стефенс. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x