Освой самостоятельно С++ за 21 день - [7]

Шрифт
Интервал

После завершения компиляции исходного кода создается объектный файл. Этот файл обычно имеет расширение ,obj. Но это еще не выполняемая программа. Для превращения объектного файла в исполняемый нужно запустить программу компоновки.

Создание исполняемого файла с помощью компоновщика

Программы на языке C++ обычно создаются путем компоновки одного или нескольких объектных файлов (файлов .obj) с одной или несколькими библиотеками. Библиотекой называется коллекция компонуемых файлов, которые либо поставляются вместе с компилятором, либо приобретаются отдельно, либо создаются и компилируются самим программистом. Все компиляторы C++ поставляются с библиотекой функций (или процедур) и классов, которые можно включить в программу. Функция — это программный блок, который выполняет некоторые служебные действия, например складывает два числа или выводит информацию на экран. Класс можно рассматривать как коллекцию данных и связанных с ними функций. О функциях и классах речь впереди (см. занятия 5 и 6).

Итак, чтобы создать исполняемый файл, нужно выполнить перечисленные ниже действия.

1. Создать файл с исходным текстом программы, который будет иметь расширение cpp.

2. Скомпилировать исходный код и получить объектный файл с расширением .obj.

3. Скомпоновать файл .obj с необходимыми библиотеками с целью создания исполняемого файла программы.

Цикл разработки

Если бы каждая программа заработала должным образом с первой попытки, можно было бы говорить о завершении цикла разработки: написание программы, компиляция исходного кода, компоновка программы и ее выполнение. К сожалению, почти все программы (тривиальные и не очень) содержат ошибки. Одни ошибки обнаружит компилятор, другие — компоновщик, а третьи проявятся только при запуске программы в работу.

Любая ошибка должна быть исправлена, и для этого нужно отредактировать исходный текст программы, перекомпилировать его и перекомпоновать, а затем снова выполнить. Этот цикл разработки представлен на рис. 1.1.

Первая программа на языке C++ — HELLO.cpp

Традиционно в книгах по программированию первые примеры программ начинаются с вывода на зкран слов Hello World или какой-нибудь вариации на тему. В этой книге мы следовали устоявшимся традициям.

Введите первую программу с помошью текстового редактора, в точности повторяя все нюансы, Завершив ввод, сохраните файл, скомпилируйте его, скомпонуйте и выполните. Программа должна вывести на экран слова Hello World. Пока не стоит задумываться о том, как работает эта программа. Вы должны получить удовлетворение просто от того, что прошли полный цикл разработки. Все аспекты этой программы будут подробно рассмотрены на следующих занятиях.


Примечание: В приведенном ниже листинге слева содержатся номера строк. Эти номера установлены лишь для ссылки в тексте книги на соответствующие строки программы. Их не нужно вводить в окно редактора, Например, в первой строке листинга 1.1 вы должны ввести: #include


Листинг 1.1. Файл HELLO.cpp — программа приветствия.

1: #include

2:

3: int main()

4: {

5: cout << "Hello World!\n"

6: return 0;

7: }


Убедитесь в том, что введенный вами текст программы совпадает с содержимым приведенного здесь листинга. Обратите внимание на знаки препинания. Символ << в строке 5 является оператором перенаправления потока данных. Эти символы на большинстве клавиатур вводятся путем нажатия клавиши и двойного нажатия клавиши с запятой. Строка 5 завершается точкой с запятой (;). Не пропустите этот символ завершения строки программного кода!

Рис. 1.1. Этапы разработки программы на языке C++

Кроме того, убедитесь, что вы корректно работаете со своим компилятором. Большинство компиляторов переходит к компоновке автоматически, но все-таки стоит свериться с документацией. Если вы получите какие-нибудь сообщения об ошибках, просмотрите внимательно текст своей программы и найдите отличия от варианта, приведенного в книге. Если вы увидите сообщение об ошибке со ссылкой на строку 1, уведомляющее о невозможности найти файл iostream.h (cannot find file iostream.h), обратитесь к документации за указаниями об установке пути для включаемых файлов или переменных окружения. Если вы получите сообщение об ошибке, уведомляющее об отсутствии прототипа для функции main, добавьте строку int main(); сразу перед строкой 3. В этом случае вам придется добавлять эту строку до начала функции main в каждой программе, приведенной в этой книге. Большинство компиляторов не требует наличия прототипа для функции main, но вполне возможно, что именно вам достался компилятор из другой компании.

Один из возможных вариантов программы будет выглядеть следующим образом:


1: #include

2: int main();  // большинство компиляторов не требует этой строки

3: int main()

4: {

5: cout << "Hello World!\n"

6: return 0;

7: }


Попробуйте выполнить программу HELLO.exe. Если все правильно, вы должны увидеть на экране приветствие:


Hello world!


Использование стандартных библиотек

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


Рекомендуем почитать
Технология интервью

Данное пособие посвящено важнейшему разделу курса «Основы творческой деятельности журналиста» и в отечественной литературе аналогов не имеет. Книга задумана как практическое руководство для будущих журналистов. При этом автор учитывает опыт практикующих журналистов, а также российских и зарубежных коллег.Книга предназначена для преподавателей, аспирантов и студентов университетов и других учебных заведений, готовящих журналистов.


Мастерство режиссера

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Тематическое и поурочное планирование по биологии. 7 класс

Пособие содержит подробное планирование уроков биологии и предназначено для использования при работе с учебником В.Б. Захарова и Н.И. Сонина «Биология. Многообразие живых организмов. 7 класс», рекомендованным Министерством образования и науки РФ и включенным в Федеральный перечень учебников.В пособии рассматриваются все этапы урока: изучение нового материала, закрепление знаний и умений учащихся, проверка домашнего задания. Материал к уроку содержит не только методические рекомендации, но и краткий конспект, который учитель может использовать как основу для подготовки к занятиям.


Теория статистики

Данное учебное пособие предназначено для подготовки студентов экономических вузов к сдаче экзаменов. Издание содержит полный курс лекций по теории статистики, составленный профессиональными экономистами. Студентам предлагается ознакомиться с вопросами теории статистики. Рассматриваются методы статистического наблюдения, сводка, групировка данных, средней величины, показатели вариации, корреляционный и регрессивный анализы, анализ временных рядов, индексы, использование графического метода и многое другое.Издание предназначено для студентов, обучающихся по специальности «Статистика» и другим экономическим специальностям.


Информационная безопасность человека и общества

В учебном пособии рассмотрены основные понятия, история, проблемы и угрозы информационной безопасности, наиболее важные направления ее обеспечения, включая основы защиты информации в экономике, внутренней и внешней политике, науке и технике.Обсуждаются вопросы правового и организационного обеспечения информационной безопасности, информационного обеспечения оборонных мероприятий и боевых действий. Особое внимание уделяется обеспечению информационной безопасности в правоохранительной сфере, а также при возникновении чрезвычайных ситуаций.Рассматриваются сущность и методы информационного воздействия на человека, информационная безопасность в сфере духовной жизни человека и общества, в повседневной жизни.Пособие соответствует требованиям образовательного стандарта и предназначено для студентов педагогических вузов специальности 033300/050104 «Безопасность жизнедеятельности».


Римское право

Непосредственной сдаче экзамена или зачета по любой учебной дисциплине всегда предшествует краткий период, когда студент должен сосредоточиться, систематизировать свои знания. Выражаясь компьютерным языком, он должен «вывести информацию из долговременной памяти в оперативную», сделать ее готовой к немедленному и эффективному использованию. Специфика периода подготовки к экзамену или зачету заключается в том, что студент уже ничего не изучает (для этого просто нет времени): он лишь вспоминает и систематизирует изученное.Предлагаемое пособие поможет студентам в решении именно этой задачи применительно к курсу «Римское право».Содержание и структура пособия соответствуют требованиям Государственного образовательного стандарта высшего профессионального образования.Издание предназначено студентам высших учебных заведений.