Программирование на языке высокого уровня. Марапулец Ю.В. - 28 стр.

UptoLike

Составители: 

навливается и печатается сообщение "Внимание ошибка". Как правило, директива ис-
пользуется, если дальнейшая компиляция программы не имеет смысла.
#line – вставляет новый номер строки и новое имя исходного файла, что отражает-
ся макросами __FILE__ и __LINE__, которые будут рассмотрены далее. Данная дирек-
тива используется крайне редко и не оказывает существенного влияния на исходный
файл. Описание:
#line номер ["имя_файла"]
После выполнения компилятором данной строки, текущему номеру следующей
строки присваивается номер номер, нумерация следующих строк продолжается с нового
номера. Если файл filename определен, он становится новым значением __FILE__.
#pragma – позволяет использовать специфичные для конкретных реализаций ди-
рективы. Описание:
#pragma аргументы
Аргумент аргументы содержит имя директивы. В данном случае появляется воз-
можность определить любые желаемые директивы, не обращаясь к другим, поддержи-
вающим их компиляторам. С помощью данной директивы можно, например, задавать
программе функцию, которая должна вызываться либо при загрузке перед вызовом
функции main, либо непосредственно перед выходом из программы.
Примеры:
#pragma startup имя_функции
#pragma exit имя_функции
В данном случае аргумент имя_функции содержит имя ранее объявленной функции.
Макросы. Язык С++ определяет набор символических имен, которые служат для
определения "состояния дел во время компиляции", которые также называют макроса-
ми. Рассмотрим их подробней:
__cplusplus – определяется, если исходный файл был скомпилирован как файл С++.
Данный макрос также задает возможность использования функций С++. Пример:
#ifdef __cplusplus
int I = get_random();
#endif
В данном случае в программе на языке С появляется возможность использовать
функцию get_random(), из набора функций языка С++.
__DATE__ - во время компиляции данный макрос преобразуется в строку, ограни-
ченную кавычками, которая содержит текущую дату компиляции, в виде: месяц день
год.
__FILE__ - во время компиляции транслируется в строку, заключенную в кавычки,
которая содержит имя текущего исходного файла.
__LINE__ - во время компиляции транслируется в номер текущей строки компили-
руемого исходного файла и может изменяться директивой #line.
__TIME__ - компилируется в строку, заключенную в кавычки и содержащую те-
кущее время компиляции в формате: часы: минуты: секунды.
28
навливается и печатается сообщение "Внимание ошибка". Как правило, директива ис-
пользуется, если дальнейшая компиляция программы не имеет смысла.
     #line – вставляет новый номер строки и новое имя исходного файла, что отражает-
ся макросами __FILE__ и __LINE__, которые будут рассмотрены далее. Данная дирек-
тива используется крайне редко и не оказывает существенного влияния на исходный
файл. Описание:

       #line номер ["имя_файла"]

     После выполнения компилятором данной строки, текущему номеру следующей
строки присваивается номер номер, нумерация следующих строк продолжается с нового
номера. Если файл filename определен, он становится новым значением __FILE__.
     #pragma – позволяет использовать специфичные для конкретных реализаций ди-
рективы. Описание:

       #pragma аргументы

     Аргумент аргументы содержит имя директивы. В данном случае появляется воз-
можность определить любые желаемые директивы, не обращаясь к другим, поддержи-
вающим их компиляторам. С помощью данной директивы можно, например, задавать
программе функцию, которая должна вызываться либо при загрузке перед вызовом
функции main, либо непосредственно перед выходом из программы.
Примеры:

#pragma startup имя_функции
#pragma exit имя_функции

В данном случае аргумент имя_функции содержит имя ранее объявленной функции.

     Макросы. Язык С++ определяет набор символических имен, которые служат для
определения "состояния дел во время компиляции", которые также называют макроса-
ми. Рассмотрим их подробней:
     __cplusplus – определяется, если исходный файл был скомпилирован как файл С++.
Данный макрос также задает возможность использования функций С++. Пример:

#ifdef __cplusplus
int I = get_random();
#endif

     В данном случае в программе на языке С появляется возможность использовать
функцию get_random(), из набора функций языка С++.
     __DATE__ - во время компиляции данный макрос преобразуется в строку, ограни-
ченную кавычками, которая содержит текущую дату компиляции, в виде: месяц день
год.
     __FILE__ - во время компиляции транслируется в строку, заключенную в кавычки,
которая содержит имя текущего исходного файла.
     __LINE__ - во время компиляции транслируется в номер текущей строки компили-
руемого исходного файла и может изменяться директивой #line.
     __TIME__ - компилируется в строку, заключенную в кавычки и содержащую те-
кущее время компиляции в формате: часы: минуты: секунды.


                                        28