Заголовочные файлы и библиотеки
В Си имеется общая технология, которая касается как организации модульных программ, так и библиотек. Любой модуль, который претендует на дальнейшее использование через обращение к собственным внешним переменным и вызов собственных внешних функций, должен иметь некоторое описание своего интерфейса. Оно заключается в составлении заголовочного файла (файла с расширением -".h" ), который используется другими модулями. Заголовочный файл должен включать в себя:
-определение используемых типов данных в формальных параметрах и результатах функций с использованием оператора typedef ;
-объявления внешних переменных и функций модуля, к которым возможно обращение.
При помощи директивы #include текст заголовочного файла включается в текст транслируемого модуля, таким образом транслятор получает необходимые определения типов и объявления переменных и функций модуля, к которым будут производиться обращения. Директива #include возможна в двух вариантах:
#include <alloc.h> - заголовочный файл из системного каталога
#include "myhead.h" - заголовочный файл из текущего(явно указанного) каталога
Процесс подготовки библиотеки включает в себя следующие шаги:
-создание заголовочного файла, содержащего определения используемых типов данных и объявления внешних функций и переменных библиотеки;
-создание модуля, включающего определение функций и переменных библиотеки и трансляция его в объектный модуль;
-включение объектного модуля в библиотеку.