Любой проект в Visual Studio 2010 включает несколько самостоятельных конфигураций для компиляции разных версий программы. Конфигурацией называется набор параметром компилятора, компоновщика и библиотекаря, используемый при построении проекта. По умолчанию, при создании проекта, среда Visual Studio 2010 автоматически включает в него две конфигурации: Debug (отладочная) и Release (финальная). Как следует из их названий, отладочная конфигурация используется в процессе написания программы, ее тестовых запусков для обнаружения и исправления ошибок; в то время как финальная конфигурация используется для построения конечной версии продукта, передаваемого заказчику для промышленного использования.
При создании проекта настройки отладочной (Debug) и финальной (Release) конфигураций устанавливаются в значения по умолчанию. С этими настройками выполняются следующие действия:
Переключение между конфигурациями можно осуществлять из панели инструментов или при помощи окна Configuration Manager (менеджер конфигураций).
Для быстрого переключения конфигурации, используемой для компиляции проекта, используется стандартная панель инструментов (рис. 24.1).
(рис 24.1) Переключение конфигураций из панели инструментов
Программист может в любой момент изменить настройки конфигурации проекта или, при необходимости, создать новую конфигурацию. Эти действия выполняются в окне свойств проекта. Настройки свойств проекта применяются к текущей выбранной конфигурации. Можно указать одну из созданных конфигураций проекта, или выбрать All configurations, в этом случае настройки будут применены ко всем конфигурациям одновременно. Рассмотрим основные отличия в настройках проекта для отладочной и финальной конфигураций. На рис. 24.2 изображено окно свойств проекта со страницей настроек оптимизации (Optimization) для отладочной конфигурации проекта. Видно, что для отладочной конфигурации оптимизация генерируемого машинного кода выключена (Disabled).
(рис 24.2) Страница свойств Optimization для отладочной конфигурации
Для финальной версии проекта по умолчанию включена оптимизация по скорости выполнения программы (Optimize Speed). На рис. 24.3 показана страница с выбранными настройками финальной конфигурации.
(рис 24.3) Страница свойств Optimization для финальной конфигурации
Кроме того, можно также выбрать следующие параметры оптимизации – генерировать максимально компактный код (Minimize Size) и полная оптимизация (Full Optimization), которая включает максимальные настройки оптимизации. На рис. 24.4 показан список свойств закладки Optimization.
(рис 24.4) Список свойств закладки Optimization
На странице свойств генерации кода (Code Generation) можно указать версию стандартной библиотеки языка C, которая будет использована при компиляции и компоновке проекта – настройка Runtime Library. Для отладочной конфигурации по умолчанию используется настройка Multithreaded Debug DLL (многопоточная отладочная версия стандартной библиотеки, размещенной в динамически загружаемом модуле DLL). Эта версия библиотеки содержит отладочную информацию. Она также поддерживает дополнительные проверки времени выполнения, что позволяет, с одной стороны выполнять функции стандартной библиотеки под управлением отладчика, а с другой стороны – обнаруживать на раннем этапе трудно обнаруживаемые проблемы, такие как выход за границы массивов, неправильную работу с динамически распределяемой памятью и некоторые другие. Из-за наличия этих дополнительных проверок отладочная версия библиотеки выполняется медленнее финальной.
Для финальной версии проекта по умолчанию используется настройка Multithreaded DLL (финальная версия стандартной библиотеки без отладочной информации, размещенной в динамически загружаемом модуле DLL). Важным моментом является то, что для запуска финальной версии программы при компиляции ее с такими настройками, модуль DLL стандартной библиотеки должен присутствовать в системе. Он устанавливается либо при установки Visual Studio 2010, либо при помощи отдельного инсталляционного пакета Microsoft Visual C++ 2010 Redistributable Package (x86). Если же библиотека DLL в системе не установлена, то скомпилированная программа не будет запущена.
Для исключения зависимости от отдельной DLL стандартной библиотеки значение настройки Runtime Library нужно установить в Multithreaded (многопоточная версия стандартной библиотеки). В этом случае весь необходимый функционал будет включен непосредственно в результирующий .exe файл, который может быть запущен и исполнен независимо от того, были ли установлены файлы DLL стандартной библиотеки или нет.
На рис. 24.5 показана страница свойств закладки Code Generation для отладочной конфигурации.
(рис 24.5) Страница свойств Code Generation для отладочной конфигурации
На рис. 24.6 показана страница свойств закладки Code Generation для финальной конфигурации.
(рис 24.6) Страница свойств Code Generation для финальной конфигурации
Отладочная и финальная версия программы компилируются также с различными символами препроцессора . Для отладочной версии объявляется символ препроцессора _DEBUG, а для финальной версии – символ NDEBUG. Это позволяет использовать директивы препроцессора для условной компиляции программы, включая или исключая некоторую функциональность в отладочную или финальную версию программы. Обычно это используется для включения дополнительных проверок и отладочного вывода в отладочную версию программы. Для финальной версии такие проверки и вывод не нужны, поэтому они в нее не включаются. Например, в следующем фрагменте программы значение переменной res будет выведено на экран только в отладочной версии:
int a, b;
int res;
a = 10;
b = 20;
res = a + b;
#ifdef _DEBUG
printf ("res = %d", res);
#endif
На рис. 24.7 представлена страница свойств Preprocessor для отладочной конфигурации. На рис. 24.8 представлена страница свойств Preprocessor для финальной конфигурации.
(рис 24.7) Страница свойств Preprocessor для отладочной конфигурации
(рис 24.8) Страница свойств Preprocessor для финальной конфигурации
В отладочной и финальной версиях также различаются форматы отладочной информации (Debug Information Format), генерируемой компилятором и сохраняемой в .pdb файле.
Для отладочной версии используется Program Database for Edit and Continue, позволяющая отлаживать и даже изменять программу, если сработала точка останова. При возобновлении выполнения программы, внесенные изменения будут автоматически применены, и выполнение продолжится уже с внесенными изменениями. Эта возможность позволяет сократить время, необходимое на остановку и перекомпиляцию программы при нахождении и исправлении ошибок. В тоже время такая настройка несовместима с настройками оптимизации, поэтому может быть использована только в отладочной версии. На рис. 24.9 показана страница свойств General для отладочной конфигурации.
(рис 24.9) Страница свойств General для отладочной конфигурации
В финальной версии используется настройка Program Database. Она включает генерацию .pdb файла, который может быть использован при необходимости поиска ошибок в финальной версии продукта. Эта настройка никак не влияет на оптимизацию генерируемого кода, поэтому она может быть использована для финальной версии.
На рис. 24.10 показана страница свойств General для финальной конфигурации.
(рис 24.10) Страница свойств General для финальной конфигурации
На странице свойств Debugging (отладка) узла Linker настройка Generate Debug Info (генерировать отладочную информацию) управляет генерацией отладочной информации. Настройка Generate Program Database File (создавать файл с отладочной информаций для программы) задает имя результирующего .pdb файла с отладочной информацией.
На рис. 24.11 показана страница свойств Debugging узла Linker для отладочной версии.
(рис 24.11) Страница свойств Debugging для отладочной версии
MS Visual Studio 2010 предоставляет удобные и гибкие механизмы настройки свойств конфигураций проектов, что позволяет программистам выполнять компиляцию и сборку своих проектов с актуальным набором настроек.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.