Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Структура программы. Программа на языке С++ состоит из директив препроцессора

Типы переменных | Локальная область видимости | Динамическое выделение памяти для структур |


Читайте также:
  1. АЛМОНД(Структура)
  2. Аннотация рабочей программы
  3. БИОПСИХОСОЦИАЛЬНАЯ СТРУКТУРА ЧЕЛОВЕКА
  4. В большинстве случаев эстрадному драматургу следует добиваться, что­бы тема программы, ее состав давали возможность органичного, смы­слового соединения двух отделений.
  5. Види і структура здібностей
  6. Внешний облик и структура Совета.
  7. Воля как состояние и как черта характера (структура волевого процесса, развитие воли).

Программа на языке С++ состоит из директив препроцессора, указаний компилятору, объявлений переменных и/или констант, объявлений и определений функций.

Программа на языке C/C++ обязательно состоит хотя бы из одной функции, главной функции main(). При создании нового проекта перед нами был следующий код:

  #include <iostream>   using namespace std;   int main() { cout << "Hello World!" << endl; return 0; }

Тело функции обозначено фигурными скобками, внутри которых содержится блок операторов. Функция имеет свой тип, например в данном случае тип int, это видно в объявлении функции. Структура программы на языке C++ следующая:

  Директивы препроцессора и глобальные переменные   int main(параметры функции) { блок операторов }   тип func1(параметры функции) { блок операторов }   тип func2(параметры функции) { блок операторов }

Тип функции определяет возвращаемое значение. Например функция main() должна возвращать целочисленное значение (что и происходит в коде, она возвращает 0). Значение 0 в данном случае сигнализирует о правильности выполнения программы. Функция возвращает значение вызываемому оператору. В данном случае таким оператором является оболочка ОС или отдельный процесс. Об этом мы поговорим позднее. Возвращаясь к структуре программы, хотелось бы прокомментировать первую строчку программы. Под директивами препроцессора воспринимаются строки начинающиеся с символа # выполняющие подключение библиотек и выполняющие условную компиляцию программы. Но об этом позже, пока у нас в текущей программе имеется такая строчка, она подключает библиотеку iostream, что дает возможность использовать функцию потокового вывода cout. Так же в этом месте мы можем использовать пространства имен using namespace. В программе мы подключаем пространства имен std. Без этой строчки использовать функцию вывода приходилось с использованием префикса std:

  std::cout << "Hello World!" << std::endl;

Главную функцию мы уже разобрали на начальном этапе, Если функция имела бы тип void возвращаемого значения бы не было. Функций в проекте может быть сколько угодно.

Урок 19. Компиляция программы и сборка исполняемого модуля. Размещение программы и данных в памяти.(

Компилятор C преобразует исходный текст на языке C в кодах ASCII в выполняемый объектный код. Процесс компиляции разделен на четыре фазы:

. Препроцессор:

- Осуществляет вставку исходных текстов из других файлов (#include)

- Раскрывает макроопределения (#define)

- Осуществляет условную обработку исходного файла (#ifdef)

- Уничтожает комментарии

. Транслятор (компилятор)

- Проверяет текст на отсутствие синтаксических ошибок

- Преобразует конструкции языка C в конструкции ассемблера

- Выполняет машинно-независимые и машинно-зависимые оптимизации

- Генерирует отладочную информацию.

. Ассемблер

- Преобразует конструкции языка ассемблера в машинные команды

- Генерирует объектный модуль и списки экспорта и импорта (списки внешних символов)

- У некоторых компиляторов этот этап исполняется той же командой, что и трансляция

. Редактор связей

- Осуществляет сборку объектных файлов в загружаемый модуль

- Просматривает библиотеки для разрешения внешних ссылок

Для запуска компилятора языка C используется команда cc (SunStudio) или gcc (GCC). Для запуска компилятора C++ используются команды CC или g++. В дальнейших примерах мы будем использовать название команды cc; когда будут обсуждаться особенности других форм запуска компилятора, это будет оговариваться отдельно.

Команда cc - это управляющая программа, которая последовательно вызывает с помощью fork и exec другие программы, реализующие фазы процесса компиляции. Каждой фазе соответствует свои опции, и у каждой фазы свои сообщения об ошибках. Раздел ФАЙЛЫ на странице Руководства cc(1) указывает, где может быть найдена каждая исполняемая фаза. В общем случае, фазы процесса компиляции не должны вызываться явно. Их вызов осуществляет команда cc(1). Каждая фаза использует файлы или программные каналы для передачи своего вывода следующей фазе.


Дата добавления: 2015-11-04; просмотров: 53 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Третья четверть 9 страница| Формат модуля определяет структура файла и правила его загрузки.

mybiblioteka.su - 2015-2024 год. (0.006 сек.)