Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
91-100.docx
Скачиваний:
6
Добавлен:
11.09.2019
Размер:
33.32 Кб
Скачать

93Макросы, поставляемые вместе с компилятором. Выбор макроопределения или функции. Макросы, поставляемые вместе с компилятором.

Комитет ANSI С рекомендовал, чтобы во всех компиляторах С были описаны пять специальных макросов без параметров. Название каждого макроса начинается и заканчивается двумя символами подчеркивания; это показано в следующей таблице:

Имя макроса

Значение

_LINE_

Десятичная целая константа, представляющая собой текущий номер строки исходного текста

_FILE_

Строковая константа, являющаяся именем текущего исходного файла

_DATE_

Строковая константа, представляющая собой дату трансляции в виде Mmm dd yyyy (месяц день год)

_TIMESTAMP_

Строковая константа, представляющая собой дату и время последней модификации исходного файла в виде Ddd Mmm hh:mm:ss уууу (день месяц часы:минуты:секунды год)

_STDC_

Равняется единице, если компилятор совместим с ANSI С

Выбор макроопределения или функции.

Многие задачи можно решать, используя макроопределение с аргументами или функцию.

Выбор макроопределения приводит к увеличению объема памяти, а выбор функции — к увеличению времени работы программы.

Преимущество макроопределений заключается в том, что при их использовании вам не нужно беспокоиться о типах переменных

  1. Директива #include. Заголовочные файлы. Правильное использование заголовочных файлов. Более эффективное использование заголовочных файлов. Предварительная компиляция заголовочных файлов.

    Директива #include.

Когда препроцессор «распознает» директиву #include, он ищет следующее за ней имя файла и включает его в текущий файл. Директива выдается в двух видах:

#include <stdio.h> имя файла в угловых скобках

#include "mystuff.h" имя файла в двойных кавычках

В типичной микропроцессорной системе эти две формы являются синонимами, и препроцессор ведет поиск на указанном диске.

Суффикс .h используется для «заголовочных» файлов. Заголовочные файлы обычно состоят из операторов препроцессора. Некоторые файлы, подобно stdio.h, включены в систему.

Заголовочный файл - файл содержащий определения типов данных, структуры, прототипы функций, перечисления, макросы препроцессора. Имеет по умолчанию расширение .h. Заголовочный файл используется путём включения его текста в данный файл директивой препроцессора #include. Основная цель использования заголовочных файлов — вынесение описания нестандартных типов и функций за пределы основного файла с кодом.

Правильное использование заголовочных файлов.

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

  • Директивы препроцессора

  • Объявления констант const

  • Прототипы функций

  • Определения typedef

  • Определения структур

  • Перечисляемые типы

  • Внешние ссылки extern

заголовочный файл никогда не должен содержать нестатических определений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]