7.2.3. Компиляция библиотек

На верх  Назад  Вперёд

Для создания библиотеки нужно использовать ключевое слово library в головном файле (файле проекта). Дополнительная информация о создании библиотек в разделе 12. ПРОГРАММИРОВАНИЕ ОБЩЕДОСТУПНЫХ БИБЛИОТЕК.

При компиляции модуля, компилятор создаёт объектные файлы (с расширением .o), они являются обычными объектными файлами, как и получаемые с помощью компилятора C. Их можно объединять с помощью инструментов ar и ranlib в статические библиотеки. Тем не менее этого не следует делать (по разным причинам).

В коде будет много ссылок на скомпилированные внутренние процедуры RTL. Этих процедур нет в библиотеке C.

Секции инициализации не вызываются программой на C.

Переменные потоков не будет выделены (или инициализированы).

Не будут инициализированы строки ресурсов.

В каждой библиотеке будет сделана инициализация RTL.

Чтобы учесть эти (и другие) проблемы требует глубоко знать о внутренней работе компилятора и RTL, и по этому не следует использовать статические библиотеки с Free Pascal.