ВУЗ:
Составители:
Рубрика:
{ операторы функции f1 }
int f2()
{ операторы функции f2 }
2.1.5. Директивы препроцессора
С увеличением объема программы становится неудобно хранить ее
в одном файле. Разбиение программы на функции является первым ша-
гом в повышении уровня абстракции программы, следующий – группи-
ровка функций и связанных с ними данных в отдельные файлы
(модули), компилируемые раздельно.
Получившиеся в результате компиляции объектные модули объеди-
няются в исполняемую программу с помощью компоновщика. Разбие-
ние на модули уменьшает время перекомпиляции и облегчает процесс
отладки. Чем более независимы модули, тем легче отлаживать програм-
му.
Модуль содержит данные и функции их обработки. Для того чтобы
использовать модуль, нужно знать только его интерфейс. Интерфейсом
модуля являются заголовки всех функций и описания доступных извне
типов, переменных и констант. Описания глобальных программных
объектов во всех модулях программы должны быть согласованы.
Модульность в языке С++ поддерживается с помощью директив
препроцессора, пространств имен, классов памяти, исключений и раз-
дельной компиляции.
Препроцессором называется первая фаза компилятора. Инструкции
препроцессора называются директивами. Они должны начинаться с
символа #, перед которым в строке могут находиться только пробель-
ные символы.
2.1.5.1. Директива #include
Директива #include <имя_файла> вставляет содержимое указанно-
го файла в ту точку исходного файла, где она записана. Включаемый
файл также может содержать директивы #include.
Поиск файла, если не указан полный путь, ведется в стандартных
каталогах включаемых файлов. Вместо угловых скобок могут использо-
ваться кавычки (" ") – в этом случае поиск файла ведется в каталоге, со-
держащем исходный файл, а затем уже в стандартных каталогах.
Директива #include является простейшим средством обеспечения
согласованности объявлений в различных файлах, включая в них ин-
15
Страницы
- « первая
- ‹ предыдущая
- …
- 13
- 14
- 15
- 16
- 17
- …
- следующая ›
- последняя »
