Компилятор Делавар. Многомодульные проекты

Материал из ТХАБ.РФ
Перейти к: навигация, поиск

Многомодульные проекты

В версии компилятора 0.54 появились ключевые слова import и module. Указываются инструкции в начале модуля. Сначала должны следовать инструкции import, затем module.

Ключевое слово import предназначено для импорта описаний перечислений, глобальных переменных и прототипов функций, определенных в сторонних библиотеках. Для глобальных переменных не забывайте использовать ключевое слово extern. Данные описания должны находиться в файлах с расширением *.i и располагаться с каталоге DC32\IMP. На данный момент в указанном каталоге уже имеются описания для стандартной библиотеки С (файл std.i), GTK (gtk.i), SDL (sdl.i), Open GL (gl.i), математических функций (math.i) и некоторых других, достаточные для компиляции имеющихся примеров.

Недостающие описания можно добавить в имеющиеся или создать собственные файлы импорта. Пример использования: import std, gtk, sdl. После ключевого слова import следует список импортируемых файлов описаний, разделенных запятой, без расширения.

Ключевое слово module используется для подключения информации об описаниях пользовательских типов, глобальных функций, перечислений или переменных, размещенных в других файлах исходного кода проекта (файлы с расширением *.d). Таким образом, появляется возможность многомодульной разработки программ. Предполагается, что файлы исходного кода будут находиться в каталоге проекта. Также как и для инструкции import, перечень подключаемых файлов указывается через запятую, без расширений. Например: module src1, src2, src3. Если указанный модуль не будет найден в каталоге проекта, его поиск также будет произведен в каталоге DC32\OBJ. Каталог DC32\OBJ предназначен для хранения используемого в разных проектах одного и того же исходного кода (библиотеки), и соответствующих ему откомпилированных объектных файлов. Описание библиотеки подключается с помощью инструкции module, а соответствующий объектный файл указывается компоновщику при сборке проекта. Пример такой собственной объектной библиотеки имеется в каталоге DC32\OBJ и называется ienum.

В версии компилятора 0.57 появилась возможность инициализации в месте объявления глобальных переменных, определенных в модулях проекта, отличных от главного (в котором определена функция Start). Простые примеры многомодульных проектов хранятся в папке DC32\EX\MODULES. Более сложный пример находится в папке DC32\EX\GTK\IDE.

См. также[править]


Яндекс | Картинки | Видео | Карты | Карты ОСМ | Спутник | Гугл | Вольфрам-Альфа | РуВики | EnWiki