Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VC_Lect.doc
Скачиваний:
6
Добавлен:
01.07.2025
Размер:
15 Мб
Скачать
☆

7.6.Конфигурации Win32 Debug и Win32 Release

На панели инструментов имеется список, в котором можно выбрать один из элементов:

  • Debug

  • Release

  • Configuration manager…

Сводка параметров конфигураций Debug и Release представлена в таблице.

Параметр

Окончательная сборка (Release)

Отладочная сборка (Debug)

Отладка по исходным текстам

Отключена

Включена для компилятора и компоновщика

Диагностические макросы MFC

Отключены (определено NDEBUG)

Включены (определено _DEBUG)

Библиотеки

Рабочие библиотеки MFC

Отладочные библиотеки MFC

Оптимизация

Оптимизация по скорости (в Learning Edition отсутствует)

Без оптимизации (ускоренная компиляция)

Разработка приложений ведется в режиме отладочной сборки (Debug), а перед поставкой заказчику программа собирается заново в режиме окончательной сборки (Release). Исполняемые файлы, собранные в режиме Release, будут иметь меньший размер и работать быстрее. Текущая конфигурация выбирается из списка на панели инструментов Build, или с помощью команды меню Build→Configuration manager…. По умолчанию, результаты и промежуточные файлы сборки проекта, созданные в отладочном режиме, хранятся в подкаталоге Debug, а файлы для окончательной сборки — в подкаталоге Release.

7.7.Активизация диагностических макросов

Макросы TRACE библиотеки MFC очень полезны для наблюдения за работой программы. Для их работы необходимо, чтобы трассировка была активизирована, что и установлено по умолчанию. Если макросы в вашей программе не генерируют никаких результатов, убедитесь, что Вы запускаете отладочную версию программы командой F5.

Удобство макросов состоит в том, что, в отличие от встроенной в программный код примитивной печати сообщений, макросы «работают» только в отладочной версии программы и их, в отличие от обычного вывода данных, не нужно и не следует удалять после того, как, по Вашему мнению-заблуждению, отладка программы уже закончена. Для проверки работы макросов добавьте, например, выражение

TRACE("Вход в функцию CDRWView::OnDraw\n");

в функцию OnDraw(), запустите приложение в режиме отладки, попробуйте перемещать окно по экрану с частичным его сокрытием и понаблюдайте за выводом сообщений на вкладку Debug окна Output ИС.

Дополнительную информацию об использовании макросов отладки можно найти в этом конспекте лекций – раздел «Макросы».

7.8.Два способа запуска программы

V isual С++ позволяет запускать программу непосредственно (с помощью сочетания клавиш Ctrl+F5) или в отладчике (с помощью клавиши F5). Непосредственный запуск выполняется значительно быстрее, так как от Visual C++ не требуется сначала загружать отладчик. Если Вам не нужны трассировочные сообщения и точки останова, запускайте программу с помощью Ctrl+F5 или кнопки на панели инструментов Standard.

8.Интерфейс графического устройства, цвет и шрифт

Этот материал почерпнут из работы [1] и ссылки в тексте на главы относятся к этой работе.

Всякий раз, когда программа выводит что-нибудь на дисплей или на принтер, она обязана воспользоваться GDI-функциями. (Graphics Device Interface – интерфейс графических устройств. Набор API в Microsoft Windows, поддерживающих графический вывод растровых изображений на дисплей, графопостроители и ряд принтеров.) Эти функции позволяют рисовать точки, прямоугольники, многоугольники и др. графические примитивы, а также выводить растровые изображения и текст. Круги и квадраты Вы сможете рисовать почти сразу, однако программирование вывода текста – более сложная задача. Из этой главы Вы узнаете, как эффективно использовать GDI в среде Microsoft Visual С++, работать со шрифтами на дисплее и на принтере. Однако подробное обсуждение того, как каркас приложения управляет печатью, состоится в главе «контекст устройства».

Контекст устройства (device context) Microsoft Windows — ключевой элемент GDI, служащий для представления физического устройства. С каждым объектом «контекст устройства» C++ связан контекст устройства Windows, идентифицируемый 32-разрядным описателем типа HDC. Библиотека MFC 6.0 предоставляет несколько классов контекста устройства. Базовый класс CDC содержит все необходимые для рисования функции-члены, включая несколько виртуальных. Все производные классы, за исключением CMetaFileDC, отличаются только конструкторами и деструкторами. Если Вы (или каркас приложения) создали объект производного класса контекста устройства, то указатель на CDC можно затем передать функции, например, OnDraw. Для дисплея обычно используют производные классы CClientDC и CWindowDC. Для других устройств, таких как принтеры или буферы в памяти, используют объекты базового класса CDC. «Виртуальность» класса CDC — важная особенность каркаса приложения. В главе 19 Вы увидите, насколько легко написать код, работающий и с дисплеем, и с принтером. Оператор в OnDraw, например,

pDC->TextOut(0,0,”Я писатель!!!”);

посылает текст на дисплей, принтер или в окно предварительного просмотра печати, в зависимости от объекта, на который ссылается параметр pDC функции OnDraw. Каркас приложения связывает описатели контекста устройства с объектами, представляющими контексты устройств дисплея и принтера. Чтобы связать описатель контекста с объектами, представляющими контексты других устройств (таких, как буфер памяти, с которым Вы познакомитесь в главе 11), программист должен после создания объекта вызвать специальную функцию класса.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]