Среда разработки И++

Компилятор

Компилятор производит синтаксический анализ исходного кода алгоритма и преобразует исходные тексты в исполняемый бинарный код (файл *.ibx). Некоторые параметры компиляции могут быть заданы на закладке Компиляция диалога настроек среды разработки.

Для компиляции проекта необходимо нажать клавишу F7, кнопку на панели инструментов, либо выбрать пункт меню Проект/Компиляция. При этом компиляция производится только в том случае, если в исходных файлах были произведены изменения с момента последней компиляции. Для принудительного запуска компиляции, независимо от того, были ли изменения или нет, необходимо нажать клавиши Ctrl+F7, либо выбрать пункт меню Проект/Компилировать все.

Компиляция может осуществляться в двух конфигурациях: "Релиз" и "Отладка". Переключать активную конфигурацию можно при помощи клавиш Ctrl+Shift+D, кнопки на панели инструментов, либо пункта меню Проект/Конфигурация отладки. Папки, в которые помещаются *.ibx-файлы, получаемые в результате компиляции, для каждой конфигурации задаются на закладке Папки диалога настроек среды разработки, а путь к файлу относительно этих папок для отдельного проекта – на закладке Вывод диалога настроек проекта.

Некоторые опции компилятора для каждой конфигурации конкретного проекта можно задать на закладке Конфигурации диалога настроек проекта.

В процессе компиляции в проект программы могут автоматически добавляться используемые файлы:

О файлах и папках проекта см. подробнее Файлы проекта.

При включенной опции Выводить информационные сообщения при компиляции на странице Компиляция настроек среды разработки в окно вывода записываются сообщения о добавлении файлов в проект.

Директивы компилятора

Директивы компилятора позволяют задать папку проекта и опции файла при автоматическом добавлении файла в проект.

ДирективаТипКомментарий
filegroup строка Папка проекта для размещения файла. Если папка еще не существует, то она создается. Если директива не задана, то файл добавляется в автоматическую папку Используемые билиотеки. В пути папки поддерживается особый синтаксис (см. ниже), позволяющий управлять деталями добавления.
publish логика Признак публикации файла с проектом. По умолчанию - ДА.
encode логика Признак создания закрытой библиотеки. По умолчанию - НЕТ.
filelink строка Имена дополнительных файлов, которые следует включить в проект при компиляции. Директива может указываться более одного раза для добавления нескольких файлов. Имена файлов следует указывать с расширением, чтобы среда разработки определила, где искать файл и в какую папку проекта его помещать. После имени файла через символ ">" можно указать путь к папке в проекте. Разделителем в пути папки служит "/". В пути папки поддерживается особый синтаксис (см. ниже), позволяющий управлять деталями добавления.
bookmark строка Позволяет создать закладку (гиперссылку) в окне файлов проекта для отсылке к различной документации и другим сопутствующим материалам. Директива может указываться более одного раза в одном файле для добавления нескольких закладок. Параметры закладки указываются разделенные символом '|'. Определение параметра включает имя, знак '=' и значение параметра. Поддерживаются следующие имена параметров:
  • text - отображаемый текст закладки;
  • url - ссылка на сетевой ресурс или файл;
  • folder - папка для помещения закладки (необязательный параметр), вложенные папки разделяются символом '\'.
Для задания ссылок на связанные файлы и проекты (но не входящие в состав данного проекта) можно в параметре url указывать префикс "ide://". Для задания команды Инфо-Навигатора можно в параметре url указывать префикс "*".
Закладки отображаются в окне проекта.
Пример:
#filegroup = "Общие библиотеки"
#publish = НЕТ

#filelink = "Общий.evd"
#filelink = "ОбщаяШапка.ibf"
#filelink = "Пример1.xml>Примеры/XML"

#bookmark = "text=Сайт Инфо-Бухгалтер | URL=http://www.ib.ru"
#bookmark = "text=База знаний | url=http://www.ib.ru/wiki | folder=Прочее"
#bookmark = "text=Связанный проект | url=ide://Общие/Путеводитель/ДлгПутеводитель.ibp 
                                   | folder=Связанные проекты"
#bookmark = "text=Справка | url=*keyword=ПРОВОДКА"

Для директив filegroup и filelink поддерживается синтаксис для управления созданием новых папок проекта. В начале пути может указываться символ @ и тег автоматической папки. Если тег не указан, то подразумевается папка "Используемые библиотеки". Например, путь папки "@tabform/Печать" создает подпапку "Печать" в автоматической папке "Табличные формы". Также поддерживаются теги "image" - для изображений и "event" - для файлов событий. Для каждого уровня папок можно указать режим вставки: в начало, в конец или по алфавиту (по умолчанию). Для этого перед именем папки можно указать символ "-" - для вставки в начало или "+" - для вставки в конец. Например, путь "-Уровень1/+Уровень2/Уровень3" добавит папку "Уровень1" в начало списка, "Уровень2" - в конец списка, а "Уровень3" - по алфавиту. Если указанная папка уже существует в проекте, то ее позиция не изменяется, а все дополнительные параметры игнорируются.

Компиляция конфигураций

Для компиляции проекта можно также выбрать пункт меню Проект/Компиляция конфигураций...

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

При включении опции Создать файлы листинга проектов после компиляции проекта создаваться XML файлы со списком используемых модулей, исходных файлов, типов, функций и др. Файл листинга помещается в папку проекта. Имя файла листинга составляется из имени проекта и имени конфигурации:

<имя файла проекта>.<конфигурация>.xml

Информация о выполнимых файлах

Для просмотра информации о выполнимых файлах проекта (.ibx) можно выбрать пункт меню Проект/Информация о выполнимых файлах.... В диалоге отображается путь, размер и время изменения выполнимого файла для конфигураций "Отладка" и "Релиз". Также отображается признак необходимости компиляции, вычисляемый по времени модификации выполнимого файла, файла проекта и всех файлов исходных текстов.

Пакетная компиляция

Среда разработки поддерживает групповую компиляцию проектов программ. Проекты программ организуются в виде пакетных проектов. Наполнение пакетного проекта осуществляется на закладке Файлы окна проекта. Т.к. элементами пакетного проекта могут быть другие пакетные проекты, то включенные пакетные проекты и проекты программ образуют дерево, листьями которого являются проекты программ. Навигатор пакетного проекта отображает это дерево проектов. При компиляции пакетного проекта осуществляется обход дерева проектов с пропуском повторов.

Некоторые параметры пакетного проекта подавляют соответствующие параметры проектов программ. Например, уровень предупреждений.

Во время выполнения пакетной компиляции отображается следующий диалог:

Проверочная компиляция

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

Запустить проверку текущего файла можно нажав Shift+F7, либо выбрать пункт меню Проект/Компилировать файл. Проверить сразу все файлы, входящие в прооект можно нажав Ctrl+Shift+F7, либо выбрать пункт меню Проект/Компилировать все файлы.


См. также: