На этом шаге мы рассмотрим назначение и содержание некоторых файлов проекта.
Среда VC++ в момент создания проекта (приложения) формирует массу различных файлов. Но не все файлы, которые образуются в среде разработки, включаются в тот или иной проект. Это зависит от типа проекта и от тех опций, которые вы выбираете, когда пользуетесь Мастером создания проекта. Изучая предыдущий материал, вы, наверное, заметили, что при формировании проекта только отвечали на вопросы, делая тот или иной выбор. Это работала специальная программа, которая и называется Мастером создания проекта.
В таблице 1 приведены собственно проектные файлы. Следует отметить, что не все проектные файлы отражены в Solution Explorer (Обозревателе решений) (точнее сказать, там отражен только самый минимум). В опции Tools | Options | Projects and Solutions (Сервис | Параметры | Проекты и решения) можно посмотреть расширения файлов, предусмотренных для проектов и решений.
Рис.1. Окно "Параметры"
Если перевести проект в режим Show All Files (Показать все файлы) из опции Project (Проект) главного меню среды, то файлы покажутся все равно не все: в правом диалоговом окне, открывающемся при выполнении опции Tools | Options | Projects and Solutions (Сервис | Параметры | Проекты и решения), мы увидим опцию Extentions To Hide (Скрываемые расширения) (рисунок 1), содержащую список расширений файлов, которые (файлы) будут скрыты даже тогда, когда проект находится в режиме Show All Files (Показать все файлы).
Имя файла | Описание |
---|---|
Form1.h | h-файл, содержащий описание формы и всех ее компонентов |
app.rc | Файл ресурсов проекта, записанный в виде сценария, который в зависимости от типа проекта содержит описание диалоговых окон, панелей инструментов, пиктограмм, версии проекта и др. |
app.ico | Здесь хранится пиктограмма программы |
resource.h | Этот заголовочный файл содержит в себе определения ресурсов, используемых в проекте, сгенерированных из файла app.rc |
stdafx.h | Этот файл используется для построения предкомпиляционного заголовочного файла и предкомпиляционных объектных файлов |
AssemblyInfo.cpp | Этот файл содержит информацию по сборке проекта (файлы, ресурсы, типы и т. п.) |
stdafx.cpp | Здесь содержится информация для создания предкомпиляционных файлов |
Projname.cpp | CPP-файл, содержащийт функцию int main(), директиву препроцессора #include, осуществляющую подключение h-файла, содержащего описание формы и всех ее компонентов |
Solname.sin | Этот файл относится к категории группы проектов, объединенных в одно Решение. Он организует все элементы проекта (проектов) в одно общее Решение |
Projname.suo | Это файл опций Решения. Хранит все пользовательские режимы, задаваемые при создании Решения |
Projname.vcproj | Это главный файл проекта для VC++ проектов, генерируемых с использованием Мастера Приложений - программы, формирующей приложения на основании диалога с пользователем, создающим приложение. Она содержит информацию о версии среды разработки, о платформе, на которой создается приложение, и о свойствах созданного проекта |
Projname.idl | Содержит код описания интерфейса для управления библиотекой типов (он используется для генерации такой библиотеки). Эта библиотека выставляет интерфейс компонента другим клиентам |
Projname.ncb | Это некомпилируемый файл. Содержит информацию, генерируемую специальной программой - синтаксическим анализатором, которая используется классом View (просмотр информации). Если этот файл случайно удален, то он автоматическ регенерируется |
Readme.txt | В этом файле описываются некоторые файлы созданного проекта |
Ниже приведен пример файла Readme.txt для проекта Jaluzi.
======================================================================== ПРИЛОЖЕНИЕ : Обзор проекта Jaluzi ======================================================================== Это приложение Jaluzi создано автоматически с помощью мастера приложений. Здесь приведены краткие сведения о содержимом каждого из файлов, использованных при создании приложения Jaluzi. Jaluzi.vcxproj Это основной файл проекта VC++, автоматически создаваемый с помощью мастера приложений. Он содержит данные о версии языка Visual C++, использованной для создания файла, а также сведения о платформах, настройках и свойствах проекта, выбранных с помощью мастера приложений. Jaluzi.vcxproj.filters Это файл фильтров для проектов VC++, созданный с помощью мастера приложений. Он содержит сведения о сопоставлениях между файлами в вашем проекте и фильтрами. Эти сопоставления используются в среде IDE для группировки файлов с одинаковыми расширениями в одном узле (например файлы ".cpp" сопоставляются с фильтром "Исходные файлы"). Jaluzi.cpp Это основной исходный файл приложения. Код для отображения формы. Form1.h Реализация класса формы и функции InitializeComponent(). AssemblyInfo.cpp Пользовательские атрибуты для изменения метаданных сборки. ///////////////////////////////////////////////////////////////////////////// Другие стандартные файлы: StdAfx.h, StdAfx.cpp Эти файлы используются для построения файла предкомпилированного заголовка (PCH) с именем Jaluzi.pch и файла предкомпилированных типов с именем StdAfx.obj. /////////////////////////////////////////////////////////////////////////////
Помимо собственно проектных файлов среда разработки формирует и файлы предварительной компиляции проекта stdafx.h и stdafx.cpp. Эти файлы используются для создания предварительно компилируемого заголовочного файла Projname.pch и объектного файла stdafx.obj.
Приведем некоторые сведения и о ресурсных файлах.
Ресурсы - это интерфейсные элементы, которые обеспечивают пользователя информацией (к ним относятся графические битовые изображения, пиктограммы, линейки инструментов, курсоры и др.). В таблице 2 перечислены такие файлы.
Имя файла | Описание |
---|---|
Projname.rc | Этот файл содержит информацию, зависящую от типа проекта. Например, это могут быть линейки инструментов, меню по умолчанию, таблицы строк, диалоговые окна по умолчанию, файл пиктограмм, информация о версиях проекта, битовые изображения, HTML-файлы |
Resource.h | В этом файле содержатся определения ресурсов, используемых в проекте |
Projname.rc2 | Здесь содержатся дополнительные ресурсы, используемые в проекте |
Projname.def | Здесь хранятся имя и описание компонента, размер занимаемой им памяти во время исполнения проекта |
Projname.ico | Файл пиктограмм для проекта или компонента |
Toolbar.bmp | Графический файл, представляющий приложение или компонент на линейке инструментов или в палитре компонентов |
На следующем шаге мы рассмотрим окно "Свойства".