Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛЕКЦИИ_ПО_ПРОГРАММИРОВАНИЮ_ПРЕПОД_3403_220301.doc
Скачиваний:
27
Добавлен:
06.11.2018
Размер:
845.31 Кб
Скачать

1.2. Стандарты языка си.

Стандарта языка Си до 1989 года не существовало. В качестве описания языка Си первоначально использовалось (в частности разработчиками компиляторов) первое издание книги Керниган Б., Ритчи Д. «Язык программирования Си», вышедшее в США в 1978 году. Этот неформальный, существовавший де-факто стандарт, обозначается специальным сокращением K&R (Kernighan & Ritchie).

В 1989 году Американский институт национальных стандартов (American National Standarts Institute - ANSI) принял стандарт языка Си C89. Этот же стандарт был принят Международной организацией по стандартизации (International Standards Organizaton - ISO). Стандарт ANSI/ISO C89 используется всеми компиляторами языка Си.

Стандарт ANSI/ISO C89 является также основой объектно-ориентированного языка программирования C++, созданного Бьерном Строуструпом (Bjarne Stroustrup) в 80-х годах в Bell Laboratories. Язык Си – это подмножество языка C++. Язык C++ - это надмножество языка Си.

В 1999 году был принят стандарт ANSI/ISO C99, в который был включен ряд изменений и дополнений [18]: массивы переменной длины, новые библиотеки, однострочные комментарии, добавления к препроцессору, новые встроенные типы данных и др.

2. Основные сведения, необходимые для создания программ на языке си.

2.1 Процесс создания исполняемого файла.

  • Исходный файл (текст программы на языке программирования Си) создается в редакторе системы программирования, например Borland C++.

  • Расширенный исходный файл получается на этапе, предшествующем компиляции исходного файла, с помощью программы препроцессор (входит в компилятор). На входе препроцессора – исходный текст с директивами препроцессора (отмечены в исходном тексте символом #). На выходе – расширенный исходный файл, полученный в результате выполнения директив. В частности, препроцессор подключает к исходному файлу заголовочные файлы (имеют традиционно расширение .h), в которых содержатся константы функций, шаблоны структур, программные интерфейсы (прототипы) функций. Заголовочные файлы, входящие в стандарты языка Си, называются стандартными заголовочными файлами. Названия их являются зарезервированными именами (т.е. могут использоваться только для обозначения этих файлов). В конкретных компиляторах могут быть дополнительные заголовочные файлы. Кроме того, для связи с графическими функциями используются соответствующие графические заголовочные файлы.

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

  • Исполняемый файл (загрузочный модуль) получается на этапе компоновки объектных файлов с помощью программы линкер (редактор связи, компоновщик). Он содержит не только код объектного файла, но и коды подпрограмм из библиотечных файлов. Исполняемый файл готов к выполнению центральным процессором ЭВМ.

ПРОЦЕСС СОЗДАНИЯ ИСПОЛНЯЕМОГО ФАЙЛА.

ПРОГРАММЫ,

ФАЙЛЫ

ОБРАБАТЫВАЮЩИЕ ФАЙЛЫ

ИСХОДНЫЙ ФАЙЛ f.c

(язык Си)

ОБРАБАТЫВАЕТ

ПРЕПРОЦЕССОР

РАСШИРЕННЫЙ ИСХОДНЫЙ ФАЙЛ

(язык Си)

ОБРАБАТЫВАЕТ

КОМПИЛЯТОР

ОБЪЕКТНЫЙ ФАЙЛ f.obj

(язык двоичных кодов)

ОБРАБАТЫВАЕТ

ЛИНКЕР

(РЕДАКТОР СВЯЗЕЙ, КОМПОНОВЩИК)

ИСПОЛНЯЕМЫЙ ФАЙЛ (ЗАГРУЗОЧНЫЙ МОДУЛЬ) f.exe

(язык двоичных кодов)