Среда. Организция пакетов: различия между версиями

Материал из wikiru.visual-prolog.com

м
 
Строка 37: Строка 37:
проект и
проект и
*либо необходимо вручную прописать включение этот другого пакета в данный пакет написать использование нужного класса.
*либо необходимо вручную прописать включение этот другого пакета в данный пакет написать использование нужного класса.
*либо можно в файле '''.pro''' написать использование нужного класса но этот другой пакет должен быть предварительно откомпилирован (среда "увидит" его '''.ph''' файл). Тогда при компиляции будет предложено автоматическое включение другого пакета в данный пакет.
*либо можно в файле '''.pro''' написать использование нужного класса, но этот другой пакет должен быть предварительно откомпилирован (среда "увидит" его '''.ph''' файл). Тогда при компиляции будет предложено автоматическое включение другого пакета в данный пакет.


Для удаления пакета из проекта необходимо удалить из проекта сам файл пакета и  все ссылки на этот пакет (вручную путем редактирования файлов '''.pack и .ph''').
Для удаления пакета из проекта необходимо удалить из проекта сам файл пакета и  все ссылки на этот пакет (вручную путем редактирования файлов '''.pack и .ph''').

Текущая версия на 15:42, 17 марта 2011

Автор: Виктор Юхтенко

Организация проектов в среде программирования Visual Prolog

Назначение среды программирования Visual Prolog и ее основные функции описаны в документе Среда Разработки Здесь поясняются основные правила, по которым Среда выполняет компиляцию и построение проектов

Проект и пакеты

Целью построения проекта является связывание объектных файлов (.obj и .lib) и генерация исполняемого файла (.exe или .dll).

Объектный файл (.obj) является результатом компиляции пакета - файла с расширение .pack.

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

Пакет является текстовым файлом и включает (с использованием директивы #include или #requires) все файлы, необходимые для его успешной компиляции.

Файлы, перечисленные в файле пакета (.pack), могут использоваться только файлами этого же пакета и не видны другим пакетам. Пакет в других пакетах представляет объявление пакета - файл с расширением .ph.

Файлы деклараций классов пакета и интерфейсов (.cl и .i), к которым могут обращаються классы других пакетов, должны указываться в объявлении пакета (файл .ph). Если эти декларации используют домены, константы или интерфейсы других пакетов, то представители этих пакетов (файлы .ph) должны указываться в файле .ph.

Проект является множеством пакетов, внешних библиотек и некоторых других вспомогательных файлов.

Видимость и использование пакетов

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

При добавлении существующего пакета в проект добавляется только файл пакета (.pack).

Если проект не откомпилирован, то в проектом окне среды видны только файлы пакетов и библиотек. Результаты компиляции пакетов проекта помещаются по умолчанию в директорию OBJ (при этом может быть назначена любая другая директория). Проект становится полностью не откомпилированным, если полностью очистить директорию OBJ или удалить ее.

Файлы пакетов, составляющие сущность программы (.i, .cl, .pro) и объаявление пакета (.ph), становятся видны в проектом окне только в результате компиляции проекта или соответствующего пакета.

Если необходимо использовать в классе данного пакета какой-либо класс другого пакета, то этот другой пакет должен быть включен в проект и

  • либо необходимо вручную прописать включение этот другого пакета в данный пакет написать использование нужного класса.
  • либо можно в файле .pro написать использование нужного класса, но этот другой пакет должен быть предварительно откомпилирован (среда "увидит" его .ph файл). Тогда при компиляции будет предложено автоматическое включение другого пакета в данный пакет.

Для удаления пакета из проекта необходимо удалить из проекта сам файл пакета и все ссылки на этот пакет (вручную путем редактирования файлов .pack и .ph).

Рекомендуется после этого выполнить операцию RebuildAll, которая очищает всю директорию OBJ и производит полное построение проекта.

Ссылки