Файлы с исходным кодом и исходные программы
Исходную программу можно разделить на один или несколько "исходных файлов" или "единиц преобразования". Входные данные для компилятора называются "единицей преобразования".
Синтаксис
translation-unit
:
external-declaration
translation-unit
external-declaration
external-declaration
:
function-definition
declaration
В статье Общие сведения об объявлениях описывается синтаксис нетерминала declaration
, а в справочнике по препроцессору поясняется, как происходит обработка записи преобразования.
Примечание.
Описание соглашений о синтаксисе ANSI вы найдете во введении к статье Общие сведения о синтаксисе языка C.
Компонентами блока трансляции являются внешние объявления, которые включают в себя определения функций и объявления идентификаторов. Эти объявления и определения могут находиться в исходных файлах, файлах заголовков, библиотеках и других файлах, которые необходимы программе. Чтобы создать программу, необходимо скомпилировать каждый блок трансляции и скомпоновать полученный объектный файл.
Исходная программа языка C представляет собой набор директив, директив pragma, объявлений, определений, блоков операторов и функций. Для того чтобы все они были допустимыми компонентами программы на языке Microsoft C, они должны иметь синтаксис, описанный в настоящей книге. При этом они могут находиться в программе в любом порядке (в пределах описанных здесь правил). Однако от расположения этих компонентов в программе зависит то, каким образом в программе будут использоваться переменные и функции. Дополнительные сведения см. в разделе "Время существования", "Область", " Видимость" и "Компоновка".
Исходные файлы не должны содержать исполняемые инструкции. К примеру, в один исходный файл можно поместить все определения переменных, а затем в другом исходном файле, в котором эти переменные используются, объявить ссылки на них. Этот метод позволяет легко находить и при необходимости изменять определения. По этой же причине константы и макросы часто организуются в отдельные файлы — так называемые включаемые файлы, или файлы заголовка. По мере необходимости на них можно ссылаться из исходных файлов. Сведения о макросах и включаемых файлах см. в справочнике по препроцессору.