ВУЗ:
Составители:
Рубрика:
9
строки выполняются только в случае, если идентификатор ранее
определен директивой #define.
#ifndef идентификатор
..... строки
#endif
наоборот, строки выполняются только в случае, если идентификатор еще
не был определен директивой #define.
Эти директивы исключают повторение одних и тех инструкций при
сборке многофайлового проекта – сразу несколько файлов проекта могут
содержать одинаковые препроцессорные директивы.
Пример. Фрагмент кода из файла \include\minmax.h
#ifndef max
#define max(a,b) (((a) > (b)) ? (a) : (b))
#endif
Пример. Фрагмент кода из файла \include\stdio.h
#ifndef _INC_STDIO
#define _INC_STDIO
#include <crtdefs.h>
#endif
– содержимое файла crtdefs.h будет включено только однажды, а
именно, при самой первой обработке инструкции #include <stdio.h> в
процессе сборки файлов проекта.
Блок
#ifndef идентификатор
#define идентификатор
… … … …
#endif
называют стражем включения (include guard).
Подробное изложение возможностей препроцессора можно найти в
электронной книге Stallman R.M., Weinberg Z.. The C Preprocessor. - Free
Software Foundation, Inc., 2011. - 83 p. - http://gcc.gnu.org/onlinedocs/cpp.pdf
Представление данных
Переменная – это именованная область памяти, к которой можно
обращаться из программы, записывая и извлекая из нее данные. Каждая
переменная относится к определенному типу, задающему размер памяти,
строки выполняются только в случае, если идентификатор ранее определен директивой #define. #ifndef идентификатор ..... строки #endif наоборот, строки выполняются только в случае, если идентификатор еще не был определен директивой #define. Эти директивы исключают повторение одних и тех инструкций при сборке многофайлового проекта – сразу несколько файлов проекта могут содержать одинаковые препроцессорные директивы. Пример. Фрагмент кода из файла \include\minmax.h #ifndef max #define max(a,b) (((a) > (b)) ? (a) : (b)) #endif Пример. Фрагмент кода из файла \include\stdio.h #ifndef _INC_STDIO #define _INC_STDIO #include#endif – содержимое файла crtdefs.h будет включено только однажды, а именно, при самой первой обработке инструкции #include в процессе сборки файлов проекта. Блок #ifndef идентификатор #define идентификатор … … … … #endif называют стражем включения (include guard). Подробное изложение возможностей препроцессора можно найти в электронной книге Stallman R.M., Weinberg Z.. The C Preprocessor. - Free Software Foundation, Inc., 2011. - 83 p. - http://gcc.gnu.org/onlinedocs/cpp.pdf Представление данных Переменная – это именованная область памяти, к которой можно обращаться из программы, записывая и извлекая из нее данные. Каждая переменная относится к определенному типу, задающему размер памяти, 9
Страницы
- « первая
- ‹ предыдущая
- …
- 7
- 8
- 9
- 10
- 11
- …
- следующая ›
- последняя »