Курс Основы построения трансляторов


Препроцессор - часть 2


В следующем примере стандартный заголовок цикла for представлен в виде директивы define с параметрами:

 

#define      FOR(i,n) for(i=0; i<n; i++)

FOR(k,20) A[k]=0;      // for(k=0; k<20; k++) A[k]=0;

FOR(j,m+2) {...}      // for(j=0; j<m+2;  j++) {...}

 

В таком варианте директива define представляет собой МАКРООПРЕДЕЛЕНИЕ, а замена в тексте программы идентификатора с параметрами на строку -МАКРОПОДСТАНОВКУ.

 

#include <имя_файла>

#include "имя_файла"

 

В текст программы вместо указанной директивы включается текст файла, находящегося в системном или, соответственно, в текущем (явно указанном) каталоге. Наиболее часто в программу включаются тексты заголовочных файлов, содержащие необходимую информацию транслятору о внешних функциях, находящихся в других объектных модулях и библиотеках. Например,

 

#include <stdio.h>     

включает в программу текст заголовочного файла, содержащего объявления внешних функций из библиотеки стандартного ввода-вывода.

Аналогичные средства в других языках программирования носят название МАКРОПРОЦЕССОР, МАКРОСРЕДСТВА.




Начало  Назад  Вперед



Книжный магазин